Einzelnen Beitrag anzeigen
Alt 22.03.2011, 15:08   #1 (permalink)
sofl
Overclocker
 
Benutzerbild von sofl
 

Registriert seit: 20.10.2005
Beiträge: 380

sofl wird schon bald berühmt werden

Standard [PHP] Reguläre Ausdrücke - Replace nur außerhalb von Acronym-Tags

Hallo Liebe Community!

Folgende Situation. Ich möchte in einem PHP-Script einen HTML Text, bzw. bestimmte Begriffe, mit Acronymtags versehen. Derzeitig tue ich das in einer Schleife.

Bsp.:

while begriffcount < max

suche & ersetze current_begriff mit <acronym title="current_beschreibung">current_begriff</acronym>

Die Beschreibung ist zu diesem Zeitpunkt bereits escaped, es kann also nicht passieren das das title-Attribut, durch nicht escapte quotes, geschlossen werden kann.

Mein Problem hierbei ist nun, dass wenn innerhalb der Beschreibung ein Begriff auftaucht, durch einfaches str_replace ein acronym im acronym ensteht.

Bsp.: <acronym title="<acronym title="....

Mein angedachter Lösungsansatz wäre nun ein preg_replace zu verwenden welcher das ersetzten innerhalb von acronym-Attributen und dem acronym-Content selbst untersagt und alles weitere ersetzt.

Leider bin ich in Sachen reguläre Ausdrücke kein Stück bewandert und habe auch im Internet nur Teillösungen gefunden die mir nicht weiter geholfen haben. Ich möchte auch keine HTML-Parser und/oder diverse Frameworks verwenden.

Kann mir eventuell jemand einen Denkanschub geben oder vllt sogar ein brauchbares Pattern basteln?

Danke.

mfg sofl.
sofl ist offline   Mit Zitat antworten