Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: [PHP] preg_replace ersetzt "falsch"

  Alt 13. Jul 2005, 01:23
Moin Aeno,

ich kenne mich zwar auch nicht so ganz mit regulaeren Ausdruecken aus, aber vielleicht hilft dir ja ein Blick ins phpBB. Dort wird ein Smiley so ersetzt:
Code:
$smiley_code = ';)';
$smiley_url = 'images/smilies/wink.png';
$smiley_emoticon = 'Zwinkern';
$orig = "/(?<=.\W|\W.|^\W)" . phpbb_preg_quote($smiley_code, "/") . "(?=.\W|\W.|\W$)/";
$repl = '[img]'. $smiley_url . '[/img]';
$text = preg_replace($orig, $repl, ' ' . $text . ' ');
$text = substr($text, 1, -1);
Du kannst $orig und $repl natuerlich auch als array deklarieren, und alles in einem Schritt ersetzen lassen. Zur Regexp: ich hab keine Ahnung warum das so umstaendlich gemacht werden muss, aber es funktioniert
Vielleicht hilft es dir ja ein kleines bisschen weiter

Greetz
alcaeu
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat