Mailinglisten-Archive |
Simon Bienlein wrote: > Hallo zusammen, > > ich möchte Akronyme, Abkürzungen und Sprachwechsel im HTML-Code > automatisch auszeichnen. Das Skript, dass ihr unter > www.linux-fuer-blinde.de/misc/auszeichnungen.txt > findet, findet schon einzelne Worte und zeichnet diese aus. Allerdings > ersetzt es auch in den Attributen href und alt. > > Eine mögliche Lösung wäre, dass das Skript nicht zwischen < und > > ersetzt und außerdem die Elemente abbr, acronym, code, pre, textarea > komplett ausshließt. Also mir fällt dazu nur Zeichenweise durchgehen ein. Also for-Schleife über den String und dann in diese Schleife (angenommen $c ist der jewals aktuelle char): $ergebnis =''; $tmp =''; $intags =false; $wortesuch =Array('tag1','anderer-tag','abc'); $worteersatz =Array('ersatz für tag 1','erstaz für 2','def'); [Schleifenanweisung] { if ($intags) //wenn intags, dann einfach aktuelles Zeichen ignorieren. { if ($c =='>') $intags =false; //Es sei denn, es eendet intags continue; } if ($c ==[Whitespace]) { $ergebnis .=str_replace($wortesuch,$worteersatz,$tmp).$c; $tmp =''; } elseif ($c =='<') $intags =true; else $tmp .=$c; } Und dann steht das Ergebnis in $ergebnis. Ist aber wahrscheinlich fürchterlich ineffizient. > > Für eure Hilfe wäre ich sehr dankbar. > > Schöne Grüße > von Simon Yannik
php::bar PHP Wiki - Listenarchive