Christoph Zurnieden: Maximal Zeit ändern ?

Beitrag lesen

Hallo,

Wenn der User eh schon den Namen des Smileys (der gleichzeitig auch der Name der Bilddatei ist) angeben muß, dann ersetz doch einfach #name# per RegExp durch <img href=" ... name...></img>
Wäre doch das simpelste, oder?

RegExp kenn ich nicht.

Übliche Abkürzung für "Regular Expression"

<?PHP
$var = "Bischen Blabla  #name# bischen blabla";
echo $var;
echo "<br>";
$var = ereg_replace ("(#)([a-z]*)(#)","IMG\2IMG",$var);

Warum hast du um # Klammern gemacht ?

Um die Teilung zu verdeutlichen.

Und was soll ([a-z]*) bedeuten ?

Ist ein Fehler, muß ([a-z]+) heißen. Das andere funktioniert zwar auch, verarbeitet dann aber leere ("##") auch.

Sind eine Menge > 0 an beliebigen Kleinbuchstaben am Stück.

Für eine kurze Übersicht (Die aber für das meiste ausreicht) siehe auch
http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm
(Ist zwar für Perl aber der Unterschied zu PHP ist nicht sonderlich, außerdem gibt es für die ereg_* Funktionen auch Perlkompatible, die dann preg_* heißen.
(ereg_* sind die nach POSIX Schema)

Aber eine Frage habe ich selber noch:
Wie hast Du Deinen ursprünglichen Code eigentlich geschrieben?
Oder nenn ich es beim Namen: Wo hast Du ihn rauskopiert?

so short

Christoph Zurnieden

PS: einen Nachteil meiner Methode darf ich nicht verschweigen: er benötigt jeweils einen Buffer so groß, wie der Text ist.
Außerdem weiß ich jetzt nicht, ob es in PHP eine Möglichkeit gibt, die kompilierte RegEx zu cachen.