htmlタグ間の特定文字置換
お世話になります。
特定のタグに囲まれたテキスト部分の特定文字列を置換したいと思うのですが
なかなか解決策が浮かばず困っています。
例えば
$str = <<< EOM
<a href="watanabe/nakamura/test.html" alt="watanabesan">これがwatanabeですよ</a>
<a href="watanabe/nakamura/test.html" alt="nakamurakun">これがnakamuraですよ</a>
EOM;
という文字列があります
このaタグ間のテキスト部分の「watanabe」と「す」にだけ()を付けたい場合
どうすればいいでしょうか?
希望の結果
---
<a href="watanabe/nakamura/test.html" alt="watanabesan">これが(watanabe)で(す)よ</a>
<a href="watanabe/nakamura/test.html" alt="nakamurakun">これがnakamuraで(す)よ</a>
---
単純に置換しただけではタグ内の該当文字列も置換されてしまい困っています
foreach (array("watanabe","す") as $keyword){
$str = eregi_replace($keyword,'('."\\0".')',$str);
}
---
<a href="(watanabe)/nakamura/test.html" alt="(watanabe)san">これが(watanabe)で(す)よ</a>
<a href="(watanabe)/nakamura/test.html" alt="nakamurakun">これがnakamuraで(す)よ</a>
---
正規表現を使ってタグ内の文字を抽出という方法も考え抽出は出来たのですが
置換をかけてタグ間に戻す所でつまずいてしまいました。
何か良い方法はありますでしょうか?
アドバイスよろしくお願いします。
お礼
出来ました 回答 ありがとうございます