编程语言
首页 > 编程语言> > PHP正则表达式替换HREF属性

PHP正则表达式替换HREF属性

作者:互联网

如何使用php preg_replace和正则表达式删除所有包含< a href =“#的超链接.这是我写的内容,但不起作用

$newlink = preg_replace('/^<a href="#(.*)" (?:.*?)>(.*)<\/a>/is', '', $link);

我想替换这些链接作为锚点

<a href="#part1">go to part1</a>
<a href="#part2">go to part2</a>
<a href="#part3">go to part3</a>

为空值.

解决方法:

首先让我说,使用正则表达式来解析/修改HTML文档可能是错误的方法.如果您要进行其他任何修改,建议您查看DOM Document.

如此说来,使您的表情不贪婪(.*?)可能会起作用.

$newlink = preg_replace('/^<a href="#(.*?)"[^>]+>(.*?)<\/a>/', '', $link);

注意:这还假定href是所有锚定标记中的第一个属性.这可能是一个糟糕的假设.

标签:preg-replace,php,regex
来源: https://codeday.me/bug/20191102/1991580.html