gpt4 book ai didi

php - 使用 preg_replace PHP 删除其中的标签和元素

转载 作者:可可西里 更新时间:2023-11-01 13:27:21 26 4
gpt4 key购买 nike

当我查看我的本地主机页面时,我有这个 HTML 行

<a class="moz-txt-link-abbrevi=ated" href="http://www.test.com">Test</a>

我要删除

<a class="moz-txt-link-abbrevi=ated" href=3D"http://www.test.com">

几乎所有 preg 都替换了 <a 之间的所有内容和 >一事无成,因为我会拿出 </a>最后用字符串替换,我不能用字符串替换类,因为其中的 href 总是不同的。

我试过了

$outputstr = preg_replace('/<a[^>]*>.*?<\/a>/', '', $outputstr);

但是,当然,我的整行都消失了,因为它删除了 <a 之间的所有内容至 </a>我只需要没有类标签的内容。

谁能给我指出正确的方向?

我试过

$outputstr = str_replace('</a>','',$outputstr);拿出我最后一个</a>

然后

$outputstr = preg_replace('/<a[^>]*.*?\/>/', '', $outputstr);

希望去掉

<a class=3D"moz-txt-link-abbrevi=ated" href=3D"http://www.test.com">

如有任何帮助,我们将不胜感激!

最佳答案

您最初的尝试几乎是正确的。您现在唯一需要做的是:为内容创建一个捕获组,然后使用对该组的反向引用作为替换:

$outputstr = preg_replace('/<a[^>]*>(.*?)<\/a>/', '$1', $outputstr);

注意内容周围的圆括号。这将创建一个捕获组。在替换中,您将此捕获组称为 $1

关于php - 使用 preg_replace PHP 删除其中的标签和元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52834783/

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