検索結果があり、文字列が一致する場所をマークしたいと考えています。
以前はストリップでそれを行い、オフセットなどを保存しましたが、html を含む文字列を検索し始めたときにめちゃくちゃになりました。
そのため、テキスト (HTML を含む場合があります) でマークしたい単語のリストを作成します。
だから、「html」構文ではないテキスト内の単語を見つけたいと思います。たとえば、探している文字列は「b」です。
A b<abc>c
に変換する必要があります
A <font style="color:red;">b</font><abc>c
ではない:
A <font style="color:red;">b</font><a<font style="color:red;">b</font>c>c
問題は、その正規表現を作成できないことです。私の最善の試みは次のとおりです。
preg_replace('/(?<!<)(b)(?!>)/', '<font style="color:red;">$1</font>', 'How will this be?<abncds>Now?<br>');
しかし、それは b が a < ofc の隣にある場合にのみキャッチされます。しかし、.*? などの遅延一致を追加すると、どちらも機能しません。
ヘルプ!:)