phpbar.de logo

Mailinglisten-Archive

[php] Regex-Unterstützung gesucht

[php] Regex-Unterstützung gesucht

Jens Schmidt js at theaterverzeichnis.info
Fre Aug 17 16:17:54 CEST 2007


Moin liebe Gemeinde,

ich baue gerade eine Klasse zum Parsen von Texten. Sinn der Übung ist 
das automatisierte Versehen unterschiedlicher Texte mit Links. Die 
Funktion läuft vereinfacht gesagt so:

- Objekt bekommt zu parsenden Text und Array mit einer Anzahl von Keywords
- Wenn Keywords im Text vorkommen, wird per preg_split der Text an der 
Stelle auseinandergenommen, das entspr. Keyword mit nötigem Tag 
versehen, das ganze wieder zusammengesetzt und zurückgegeben.

Der Ausdruck, mit dem der Text bislang auseinandergenommen wird ist:

'/[\s]+'.$val.'([\s[:punct:]])/'

wobei $val natürlich eines der Keywords aus dem übergebenen Array ist. 
Es wird also nur nach ganzen Wörtern gesucht. Das ganze haut soweit auch 
ganz gut hin, ist bis hierhin auch nicht weiter aufregend,

ABER(!):

Da der zu parsende Text auch HTML enthalten kann (eigentlich der 
Normalfall hier), muss nach oben beschriebenem Vorgehen das Splitten 
dort verhindert werden, wo $val Teil eines Tags ist (z.B. <hn></hn>, 
<a...></a>, <img...>, <input...>) verhindert werden.
Jetzt sitz ich schon geraume Zeit hier, grübel über einer möglichen 
Ergänzung des o.g. Ausdrucks nach, der mir meinen Text eben nur dann 
teilt, wenn $val eben nicht zu einem solchen Tag gehört, komme da aber 
nicht weiter... :( Gibts einen solchen Ausdruck überhaupt?

Wenn einer der Wissenden in dieser Runde mir da unter die Arme greifen 
könnte, wäre ich echt dankbar!


Gruß, jens.

php::bar PHP Wiki   -   Listenarchive