gpt4 book ai didi

php - 使用 PHP 从 DOM html 中删除所有链接

转载 作者:搜寻专家 更新时间:2023-10-31 21:04:30 24 4
gpt4 key购买 nike

有一个字符串 $processhtml 包含一些 html。我试图在 PHP 的帮助下从 html 中删除所有链接标签及其内容。

举例说明:

"This is some text with <a href="#">link</a>"

必须变成:

"This is some text with"

我在 DOMDocument 的帮助下对该 html 进行了一些其他解析,因此试图找到与 DOM 相关的解决方案。

我试过:

           $dom = new DOMDocument();
@$dom->loadHtml($processhtml);
foreach ($dom->getElementsByTagName('*') as $element) {
if ($element->nodeName == 'a') {
$element->parentNode->removeChild($element);
}
}
echo $dom->saveHTML();

结果:

  1. 部分链接完全删除(好)

  2. 部分链接替换为“问号”字符(奇怪)

  3. 一些链接保持不变(不好)

enter image description here

所以我的问题是:

1) 是什么导致我使用的代码不一致,如何解决?

2)是否有更好的方法来实现所需的功能? (正则表达式是一个禁忌;P)

提前致谢!

最佳答案

$pattern = '/<a .*?<\/a>';
preg_replace($pattern, "", $processhtml);

测试并致力于 https://regex101.com/

关于php - 使用 PHP 从 DOM html 中删除所有链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34929529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com