我需要一些帮助才能找到某些内容和标签内的内容。
示例:
$string = '<a href="dummyurl">TEXT</a><span>Other Text</span>';
我想找到'TEXT'并用其他值替换它。显然,'href'和'TEXT'的内容是动态生成的。
答案 0 :(得分:2)
答案 1 :(得分:2)
如果您确定开始标记中没有>
字符(明显的1除外):
preg_match('/<a[^>]*>(.*?)<\/a>/i', $string, $matches);
答案 2 :(得分:2)
$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;
答案 3 :(得分:0)
考虑学习DOM,这将使您能够使用HTML和XML文档,并以通用方式回答这样的问题。有一些学习曲线,它将比精细调整的本地正则表达式慢,但它将更加健壮,并且几乎适用于所有HTML或XML文档。
PHP在PHP within the manual中使用DOM有很大的篇幅。