preg_match('.*<a\b(?=\s)(?=(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*?\shref=['"]([^"]*)['"]?)(?:[^>=]|='[^']*'|="[^"]*"|=[^'"\s]*)*"\s?\/?>/m',$data,result);
我该如何使用
php regex
在此处找到锚点链接。 这给出了语法错误。我们该如何解决这个问题。 你可以看到这里的工作状态。
答案 0 :(得分:1)
你需要在你的正则表达式中转义引号 - 在Ruby中这是不必要的,因为正则表达式是具有自己的文字语法的第一类对象,但不是在PHP中。此外,您还需要添加分隔符:
preg_match('~.*<a\b(?=\s)(?=(?:[^>=]|=\'[^\']*\'|="[^"]*"|=[^\'"][^\s>]*)*?\shref=[\'"]([^"]*)[\'"]?)(?:[^>=]|=\'[^\']*\'|="[^"]*"|=[^\'"\s]*)*"\s?/?>~m',$data,result);