Thread Regex-Frage: \b und \B bei Sonderzeichen
(2 answers)
Opened by svwcharly at 2007-06-23 01:15
Hallo, ich habe ein Regex-Problem.
In einem HTML-Text sollen bestimmte Zeichenketten kursiv oder fett hervorgehoben werden, aber nur, wenn die Zeichenkette als ganzes Wort auftaucht oder am Anfang oder am Ende steht. Als Beispiel: $text = " ärztliche fachärztlich ärztlich"; $such = "ärztlich"; $text =~ s/\B($such)\b/>>$1<</ig; $text =~ s/\b($such)\B/>>$1<</ig; $text =~ s/\b($such)\b/>>$1<</ig; Das Ergebnis ist: ärztliche fach>>ärztlich<< >>ärztlich<< Also die Zeichenkette am Anfang des 1. Wortes (ärztliche) wird nicht hervorgehoben, trotz \b ... \B Kann mir das einer erklären? Und wie kann man das Problem lösen? Ein einfaches $text =~ s/($such)/>>$1<</ig; hilft nicht, weil dann auch in der Mitte von Wörtern hervorgehoben wird, also Suchwort "usa" wird dann auch gefunden in "zusammen" usw. Danke für Eure Tipps! SVW-Charly |