我想从 HTML 字符串中删除所有链接及其内容。
所以这个…… <a href="#">LINK1</a> and <i>also</i> <a href="#">LINK2</a>应该变成这样:and <i>also</i>
下列 ...
$html = '<a href="#">LINK1</a> - and <i>also</i> <a href="#">LINK2</a>';
$dom = new DOMDocument;
$dom->preserveWhiteSpace = false;
$dom->validateOnParse = false;
$dom->resolveExternals = false;
$dom->substituteEntities = false;
$dom->loadHTML( $html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD );
$list = $dom->getElementsByTagName('a');
while ($list->length > 0) {
$p = $list->item(0);
$p->parentNode->removeChild($p);
}
$html_new = $dom->saveHTML();
echo htmlentities($html);
echo '<br><br><hr><br>';
echo htmlentities($html_new);
$html...除非我包裹在 a 中否则不起作用<div>,但后来我有了<div> and <i>also</i> </div>。我可以用来substr去掉结果中的前 5 个和后 6 个字符,但这太愚蠢了,而且我的脸已经因为我为了弄清楚上面的内容而忍受的所有脸部手掌而感到太酸痛了。
关于如何在不使用 regex或诉诸facepalmy hacks的情况下从字符串中删除所有标签有什么建议吗?
慕斯王