Andy: Die Lösung!!!!!

Beitrag lesen

Hallo!

Es wird trotzdem jedes :-) ersetzt, da es ja immer zwischen Anfang und Ende des Strings steht!!!!

hast Du denn die Modifikatoren benutzt - besonders /U?

Jaja! Ausserdem gibt es damit ein anderes Problem: Es wird nur ein Vorkommen von :-) ersetzt!

naja, ich weiß jedenfalls, warum ich Methode b) verwendet habe - geht prima ;)

Hab' ich jetzt auch!!! Geht!
Hier meine Variante fürs Archiv:
<CODE>
 $splitedOutput=preg_split("/(<textarea.*?>|</textarea>|<input type="text".*?>)/msi",$Output,-1,PREG_SPLIT_DELIM_CAPTURE); // $Output aufsplitten
 $Output="";
 $textarea=false;
 foreach ($splitedOutput as $actualPart) {
  if (preg_match("/<textarea.*>/Umsi",$actualPart)) $textarea=true; // Beginnt ein Textarea?????
  if (preg_match("/</textarea>/Umsi",$actualPart)) $textarea=false; // Endet ein Textarea????
  if (!$textarea&&!preg_match("/<input type="text".*>/Umsi",$actualPart)) { // Falls kein INPUT Text-Field oder kein Textarea
    $actualPart=eregi_replace(":-)","<IMG SRC="smiley.gif" ALT=":-)",$actualPart); // Hier Ersetzungen wie gewünscht!
  }
  $Output.=$actualPart; // und zusammenfügen
 }
</CODE>
In $Output steht am Anfang die komplette HTML-Seite und zum Schluss die geparste Seite! Es funzt!

Noch mal danke!!!!

Ciao,
Andy