私はhtmlと混在したテキスト文字列を持っており、という単語を別々にして、の文字列で囲む必要があります。スパンの単語だけを折り返す方法は?
文字列:
$string ='<div class="something">What </div> if it it is is same <div style="color:red;">same </div>';
所望の出力
<div class="something">
<span class="splits split1">
What
</span>
</div>
<span class="splits split2">
if
</span>
<span class="splits split3">
it
</span>
<span class="splits split4">
it
</span>
<span class="splits split5">
is
</span>
<span class="splits split6">
is
</span>
<span class="splits split7">
same
</span>
<div style="color:red;">
<span class="splits split8">
same
</span>
</div>
私はワード境界、するpreg_match、str_replace、爆発とのコンボ、ループとにpreg_replace、考えると置き換えることができるすべてを試してみましたが、一つの方法または別の出力が失敗し、htmlを制動するか、または置き換えられない場所に置き換えられます。
何か助けていただければ幸いです。
DOM用に設計された1つのツール:DOMを忘れてしまった。 DOMで抽出された個々のhtmlノードを取得したら、テキストノードで作業してhtmlに変換することができます。 –
@MarcBあなたはそれについて正しいです、あなたが例を示す時間があれば素晴らしいでしょう。 – Benn