Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
alternative zu eregi_replace() [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
alternative zu eregi_replace()


 
luks2com
08-04-2010, 21:36 
 
Hallo,

da ich mitbekommen hab, dass die FUnktion eregi_replace() veraltet ist, wollte ich mal Fragen wie man diesen PHP Code altnertaiv ohne eregi_replace() machen kann?


$replace = eregi_replace("\\[img]([^\\[]*)\\[/img\\]","<img src=\"http://\\1\" alt=\"Afbeelding\">",$replace);
$replace = eregi_replace("\\[color=([^\\[]*)\\]([^\\[]*)\\[/color\\]","<font color=\"\\1\">\\2</font>",$replace);
$replace = eregi_replace("\\[url]([^\\[]*)\\[/url\\]","<a href=\"http://\\1\">\\1</a>",$replace);
$replace = eregi_replace("\\[quote=([^\\[]*)\\]([^\\[]*)\\[/quote\\]","<div class=\"quotetitle\"><b>\\1 schreef:</b></div><div class=\"quotecontent\">\\2</div>",$replace);
$replace = eregi_replace("\\[quote]([^\\[]*)\\[/quote\\]","<div class=\"quotetitle\"><b>Citaat:</b></div><div class=\"quotecontent\">\\1</div>",$replace);
$replace = eregi_replace("\\[code]([^\\[]*)\\[/code\\]","<div class=\"codetitle\"><b>Code:</b></div><div class=\"codecontent\">\\1</div>",$replace);
$replace = eregi_replace("\\[size=([^\\[]*)\\]([^\\[]*)\\[/size\\]","<span style=\"font-size: \\1%; line-height: normal\">\\2</span>",$replace);
$replace = eregi_replace("\\[quote=([^\\[]*)\\]([^\\[]*)\\[/quote\\]","<div class=\"quotetitle\"><b>\\1 schreef:</b></div><div class=\"quotecontent\">\\2</div>",$replace);
$replace = eregi_replace("\\[quote]([^\\[]*)\\[/quote\\]","<div class=\"quotetitle\"><b>Citaat:</b></div><div class=\"quotecontent\">\\1</div>",$replace);
$replace = eregi_replace("\\[code]([^\\[]*)\\[/code\\]","<div class=\"codetitle\"><b>Code:</b></div><div class=\"codecontent\">\\1</div>",$replace);


Danke schon mal

 
AmicaNoctis
08-04-2010, 22:09 
 
Hallo,

siehe PHP: PCRE - Manual (http://php.net/pcre)

Die Nichtunterscheideung von Groß- und Kleinschreibung erreichst du mit dem i-Modifier am Ende:

preg_irgendwas("/pattern/i");

Gruß,

Amica

 
fireweasel
09-04-2010, 22:40 
 
Zwei Hinweise als Ergänzung:

Die konkrete Ersatzfunktion für eregi_replace() heißt preg_replace() (http://php.net/manual/de/function.preg-replace.php).

Und die PCRE ("preg") können sich in der Syntax (http://de.php.net/manual/en/reference.pcre.pattern.syntax.php) manchmal von den POSIX-kompatiblen RegExpressions ("ereg") unterscheiden (http://php.net/manual/en/reference.pcre.pattern.posix.php ). Du solltest also nachprüfen, ob deine Ersetzen-Funktionen nach der Umstellung auf preg_replace() noch exakt das gleiche machen wie vorher.

Und falls du es gleich richtig machen willst: Es gibt haufenweise fertige und wirklich funktionierende BBCode-Implementierungen. Zum Beispiel die hier:
BBCode-Parserklasse für PHP (http://www.christian-seiler.de/projekte/php/bbcode/)


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:53 Uhr.