phpにて、htmlのタグを含むある文章中の中で、特定文字列をリンク化したいのですが、その文字列がすでに<a>タグで囲われている場合は除外をしたいと考えています。
例えば、もとの文章を
html
1<p>木曾路はすべて山の中である。</p> 2 3<p>あるところは岨づたいに行く崖の道であり、 4 あるところは<a href="#url1" target="_blank">数十間の深さに臨む木曾川の岸</a>であり、 5 あるところは山の尾をめぐる谷の入り口である。</p> 6 7<p>一筋の街道はこの深い森林地帯を貫いていた。東ざかいの桜沢から、 8 西の十曲峠まで、<a href="#url1">木曾</a>十一宿はこの街道に添うて、 9 二十二里余にわたる長い谿谷の間に散在していた。 10 <a href="#url1">道路</a>の位置も幾たびか改まったもので、 11 古道はいつのまにか深い山間に埋もれた。</p>
として、
上記文章中の「木曾」を、すべてリンク化、
ただしすでに「木曾」を含む<a>タグは無視し、
html
1<p><a href="#url2">木曾</a>路はすべて山の中である。</p> 2 3<p>あるところは岨づたいに行く崖の道であり、 4 あるところは<a href="#url1" target="_blank">数十間の深さに臨む木曾川の岸</a>であり、 5 あるところは山の尾をめぐる谷の入り口である。</p> 6 7<p>一筋の街道はこの深い森林地帯を貫いていた。東ざかいの桜沢から、 8 西の十曲峠まで、<a href="#url1">木曾</a>十一宿はこの街道に添うて、 9 二十二里余にわたる長い谿谷の間に散在していた。 10 <a href="#url1">道路</a>の位置も幾たびか改まったもので、 11 古道はいつのまにか深い山間に埋もれた。</p>
のようにしたいです。
※すでに「木曾」を含む<a>タグは、「木曾」以外の文字列を含む可能性もあります
また、もし可能であれば、さきほどと反対に
すでに「木曾」を含む<a>タグのリンク先のみ置換する。
といったこともできると理想です。
正規表現を使わずに実現できるのであれば、
それでもかまいません。
何卒お力をお貸しいただけますと幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/16 03:56
2021/07/16 04:34