既存のイメージ タグを id 属性を持つ新しいイメージ タグに置き換えようとしています。
DBが次のようなhtmlstringを返しました
<div>
<p>random p</p>
<img src='a.jpb'/>
</div>
<span>random span</span>
<img src='b.jpb'/>
more...
たとえば、画像の「一部」を id 属性に置き換えたい:
交換する
<img src='a.jpb'/>
に
<img id='123' src='a.jpb'/>
ドムドキュメントを使用しています
$doc = new DOMDocument();
$doc->loadHTML($html);
$imageTags = $doc->getElementsByTagName('img');
$imgSource=$this->DBimgSource;
$id=$this->DBID;
foreach($imageTags as $tag) {
//getting all the images tags from $html string
$source=$tag->getAttribute('src');
if(!empty($imgSource) && !empty($source)){
if(in_array($source, $imgSource)){
$id=array_search($source,$imgSource);
$imgID=$id;
$tag->setAttribute('id',$imgID);
$newImageTag=$doc->saveXML($tag);
//I am not sure how to replace existing image tags within $html with the $newImageTag
}
}
}
これを行う方法はありますか?とにかく思いつきませんでした。助けてくれてありがとう!