ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
368
368
EMPFEHLEN
-
20.09.06 17:15 #1
Hallo ich habe ein für mich unverständliches Problem.
Bisher habe ich folgendes genutzt:
Dann mittels str_replace() in die News eingebunden.PHP-Code:<?php
$search = array("[b]","[/b]","[i]","[/i]","[u]","[/u]","[img]","[/img]",
"[0]","[1]","[2]","[3]","[4]","[5]","[6]","[7]","[8]","[9]",
"[10]","[11]","[12]","[13]","[14]","[15]","[16]","[17]","[18]",
"[19]","[20]","[userq]","[/userq]","[quote]","[/quote]","[url=","[/url]","]",
);
$replace = array("<b>","</b>","<i>","</i>","<u>","</u>","<img src=\"","\" border=\"0\" alt=\"newsbild\" />",
"<img src=\"img/icons/icon_smile.gif\" alt=\"smiley\" />","<img src=\"img/icons/icon_mrgreen.gif\" alt=\"smiley\" />",
"<img src=\"img/icons/icon_cool.gif\" alt=\"smiley\" />","<img src=\"img/icons/icon_neutral.gif\" alt=\"smiley\" />",
"<img src=\"img/icons/icon_surprised.gif\" alt=\"smiley\" />","<img src=\"img/icons/icon_wink.gif\" alt=\"smiley\" />",
"<img src=\"img/icons/icon_biggrin.gif\" alt=\"smiley\" />","<img src=\"img/icons/icon_mad.gif\" alt=\"smiley\" />",
"<img src=\"img/icons/icon_sad.gif\" alt=\"smiley\" />","<img src=\"img/icons/icon_confused.gif\" alt=\"smiley\" />",
"<img src=\"img/icons/icon_evil.gif\" alt=\"smiley\" />","<img src=\"img/icons/icon_lol.gif\" alt=\"smiley\" />",
"<img src=\"img/icons/icon_eek.gif\" alt=\"smiley\" />","<img src=\"img/icons/icon_rolleyes.gif\" alt=\"smiley\" />",
"<img src=\"img/icons/icon_razz.gif\" alt=\"smiley\" />","<img src=\"img/icons/icon_redface.gif\" alt=\"smiley\" />",
"<img src=\"img/icons/icon_twisted.gif\" alt=\"smiley\" />","<img src=\"img/icons/icon_question.gif\" alt=\"smiley\" />",
"<img src=\"img/icons/icon_arrow.gif\" alt=\"smiley\" />","<img src=\"img/icons/icon_exclaim.gif\" alt=\"smiley\" />",
"<img src=\"img/icons/icon_idea.gif\" alt=\"smiley\" />","<span class=\"nick\">","</span>",
"<div class=\"quote\">","</div>","<a href=\"","</a>","\" target=\"_blank\">",
)
?>
Doch nun habe ich mich überwunden und liebe Reguläre Ausdrücke
Daher mein neuer Versuch, anschließend wollte ich es auf Performance testen bzw. wissen was schneller ist.
Doch leider erhalte ich folgendes: Warning: preg_replace() [function.preg-replace]: Empty regular expression in D:\xampplite\htdocs\HP\Doorstander\inc\bb_code2.php on line 30PHP-Code:<?php
// Suchmuster festlegen
$search = array(
'!\[b\](.*)\[\/b\]!isU',
'!\[i\](.*)\[\/i\]!isU',
'!\[u\](.*)\[\/u\]!isU',
'!\[img\](.*)\[\/img\]!isU',
'!\[url=(.*)\](.*)\[\/url\]!isU',
'!\[userq\](.*)\[\/userq\]!isU',
'!\[quote\](.*)\[\/quote\]!isU',
'!\[(\d)\]!sU'
);
// Ersetzmuster festlegen
$replace = array(
'<b>$1</b>',
'<i>$1</i>',
'<u>$1</u>',
'<img src="$1" border="0" alt="newsbild" />',
'<a href"$1" target="_blank">$2</a>',
'<span class="nick">$1</span>',
'<div class="quote">$1</div>',
'<img src="img/icons/smile_$1.gif" alt="smiley" />'
);
function bbcode($text)
{
$neuertext = stripslashes($text);
$neuertext = preg_replace($search,$replace,$neuertext);
$neuertext = nl2br($neuertext);
return $neuertext;
}
?>
Ich habe rausgefunden, dass es einzeln geht aber mit arrays nicht wobei im Manual steht das es auch gehen soll. Wozu zich mal hinschreiben wenns auch so gehen sollte ?
In den News binde ich es wie folgt ein:
PS. Die Smiley-Bilddatein habe ich schon entsprechend geändert (smile_n.gif), nicht das Ihr euch wundert.PHP-Code:include "inc/bb_code2.php";
while($row = mysql_fetch_object($erg))
{
$news = bbcode($row->news);
}
Vielen Dank im Vorraus.Geändert von Online-Skater (20.09.06 um 17:17 Uhr)
Visit shadowmasta
-
20.09.06 17:52 #2
Weil die Funktion anscheinend die Variablen $search und $replace nicht verwenden kann.
Wenn du diese der Funktion mitübergibst bzw. in ihr deklarierst, funktioniert alles.KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
20.09.06 18:05 #3
*Mir an den Kopf fass*
An sowas simples habe ich natürlich nicht gedacht
Vielen Dank
Weiß vllt. noch einer aus Erfahrung ob die letzte Variante performanter ist, oder nimmt sich das nicht viel ?Geändert von Online-Skater (20.09.06 um 18:13 Uhr)
Visit shadowmasta
-
Du musst sie der Function nicht mal mit übergeben. Deklariere sie einfach als 'global'
PHP-Code:
function bbcode($text)
{
global $search, $replace;
#...
}
Gruß fanste
Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )
Problem gelöst? Dann markiere das Thema bitte als erledigt!
Beachte bitte die Netiquette. Insbesondere Punkt 15.
Ähnliche Themen
-
Mittels Regex Gültigkeit einer anderen Regex prüfen
Von blade runner im Forum PHPAntworten: 8Letzter Beitrag: 25.06.10, 12:07 -
REGEX Problem - Regex auf den gesamten String anwenden?
Von angelikamorgan im Forum JavaAntworten: 1Letzter Beitrag: 21.01.08, 16:58 -
BBCode (RegEx) Frage
Von Warper im Forum PHPAntworten: 8Letzter Beitrag: 18.01.07, 07:31 -
RegEx URL für BBCode
Von elmyth im Forum PHPAntworten: 2Letzter Beitrag: 21.01.05, 16:36 -
Parsing: RegEx mit '&', RegEx-Kenner gefragt
Von Kachelator im Forum PHPAntworten: 8Letzter Beitrag: 21.04.04, 09:16





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren