ich hab mal zum test nen kleines script geschrieben dass ähnlich dem forencode aus [ b] und [ /b] (natürlich ohne leerzeichen) ein <b> und </b> macht.
schreibe ich jetzt einen testtext:
[ b]bla[ /b] [ b]bla2[ /b]
dann gibt es zwei möglichkeiten diesen mit ungreedy zu behandeln:
oder
der unterschied liegt in dem fragezeichen und dem U. die frage ist jetz, warum behandelt er beide als ungreedy bzw. warum funktioniert
nicht als ungreedy und was ist der unterschied zwischen den oberen beiden?
schreibe ich jetzt einen testtext:
[ b]bla[ /b] [ b]bla2[ /b]
dann gibt es zwei möglichkeiten diesen mit ungreedy zu behandeln:
PHP-Code:
$text = preg_replace("#\\[b\\](.*?)\\[/b\\]#si",'<b>\\1</b>',$text);
PHP-Code:
$text = preg_replace("#\\[b\\](.*)\\[/b\\]#siU",'<b>\\1</b>',$text);
PHP-Code:
$text = preg_replace("#\\[b\\](.*?)\\[/b\\]#siU",'<b>\\1</b>',$text);
Kommentar