我通过 DOMDocument 类向每个链接添加 #b 哈希。
$dom = new DOMDocument();
$dom->loadHTML($output);
$a_tags = $dom->getElementsByTagName('a');
foreach($a_tags as $a)
{
$value = $a->getAttribute('href');
$a->setAttribute('href', $value . '#b');
}
return $dom->saveHTML();
这工作正常,但是返回的输出包括DOCTYPE
声明和一份<head>
and <body>
标签。知道为什么会发生这种情况或者我该如何防止这种情况吗?
真正的问题是 DOM 的加载方式。使用这个代替:
$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
请为原答案点赞here https://stackoverflow.com/a/22490902/2546416.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)