Hallo zusammen,
ich habe Schwierigkeiten bei einem Regulären Ausdruck.
Ich möchte in einer HTML-Seite bestimmten Text durch Akronyme oder auch Links ersetzen
Dabei ist folgendes zu beachten:
1.) Nur in nicht-Tags arbeiten
(also nicht zum Beispiel im title <span title="schöner text">schöner text</span> oder im Tag selbst => span)
2.) Nur zwischen den bodytag-Elementen arbeiten (<body>.*</body>) (eher unwichtig)
Erster Ansatz:
Hier berücksichtigt er aber nicht die Tags selbst, sondern erstmal nur die
< bzw </ zeichen und die zuweisung von attributen mit einem =".
Kann mir jemand helfen, so das er alles was zwischen <> steht, überspringt?
ich habe Schwierigkeiten bei einem Regulären Ausdruck.
Ich möchte in einer HTML-Seite bestimmten Text durch Akronyme oder auch Links ersetzen
Dabei ist folgendes zu beachten:
1.) Nur in nicht-Tags arbeiten
(also nicht zum Beispiel im title <span title="schöner text">schöner text</span> oder im Tag selbst => span)
2.) Nur zwischen den bodytag-Elementen arbeiten (<body>.*</body>) (eher unwichtig)
Erster Ansatz:
PHP-Code:
<?php
$acronym = "schöner text";
$string = '<span title="Schöner Text">Das hier ist ein schöner Text</span>';
echo preg_replace("/(?<!=\"|<|<\/)(".$acronym.")/iU","<acronym>$1</acronym>",$string);
?>
< bzw </ zeichen und die zuweisung von attributen mit einem =".
Kann mir jemand helfen, so das er alles was zwischen <> steht, überspringt?

Kommentar