Zitat:
|
Schickes Ding, nur wozu ist die while-Schleife da? Ersetzt preg_replace nicht alle Treffer?
|
Jein. Ineinander verschachtelte Vorkommen kann es nicht mit einem Aufruf komplett austauschen, daher ist die Schleife notwendig:
PHP-Code:
[b][i]Dieser Text ist fett und kursiv[/i]/b]
Nach ersten Aufruf:
<b>[i]Dieser Text ist fett und kursiv[/i]</b>
Verstehscht?
==> nach 2. Aufruf:
<b><i>Dieser Text ist fett und kursiv</i></b>
Zitat:
|
hab mal irgendwo aufgeschnappt dass man das so machen soll:
|
Wenn man's ganz genau nimmt, hast Du recht.
Variablen in Strings zu parsen,
kostet PHP theoretisch ein klitzekleinesbisschen mehr Zeit, als den String aus 'festen' Werten und Variablen zusammenzusetzen.
Der Unterschied dürfte allerdings in den allermeisten Fällen derart gering sein, dass man der Übersichtlichkeit des Codes auch mal Vorrang geben kann.
Und nochwas:
Falls ihr das benutzen wollt, schmeißt den Krams mit dem Output Buffering raus. Mir fiel im Nachhinein ein, das ist in dem Fall völlig unnötig ist.
Ich hatte den Output Buffer erst 'aus Gewohnheit' verwendet, weil ich eine sehr ähnliche Funktion habe, die mit includes arbeitet (und da braucht mans).
Hier reichts völlig aus, statt den echos die Replacement-Strings in eine Variable zu schreiben und die zurückzugeben.