查找<;a>;和<;/a>;标记内的文本
我需要一点帮助来查找某些AND标记中的内容。
示例:
$string = '<a href="dummyurl">TEXT</a><span>Other Text</span>';
我想查找‘Text’并用其他值替换它。显然,‘href’和‘Text’的内容是动态生成的。
解决方案
$doc = new DOMDocument;
$doc->loadHTML('<a href="dummyurl">TEXT</a><span>Other Text</span>');
$anchors = $doc->getElementsByTagName('a');
$len = $anchors->length;
for($i = 0; $i < $len; $i++) {
if($anchors->item($i)->nodeValue == 'foo') {
$anchors->item($i)->nodeValue = 'New Value';
$anchors->item($i)->setAttribute('href', 'new href');
}
}
$newHTML = $doc->saveHTML();
echo $newHTML;
http://php.net/manual/en/class.domdocument.php
相关文章