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