【发布时间】:2012-12-04 02:01:11
【问题描述】:
我已经通过 curl_exec 将网页返回到一个字符串中。然后我试图用字符串 javascript:void() 替换所有超链接。
我在http://regexhero.net/tester/ 测试过的正则表达式是
(?<=href=("|'))[^"']+(?=("|'))
这非常有效。当我尝试使用 preg_replace() 在 PHP 中使用它时,出现错误:Unknown mofifier '['
代码sn-p是
$pattern = "(?<=href=(".'"'."|'))[^".'"'."']+(?=(".'"'."|'))";
$replacement = "javascript:void();";
$result = preg_replace($pattern,$replacement,$result) ;
我也尝试过像这样转义字符串
$pattern = "(?<=href=(\"|'))[^\"']+(?=(\"|'))";
我在 Win 环境下编写脚本,但要在 LAMP 上运行。
感谢您的意见
【问题讨论】:
-
你的正则表达式是不是太复杂了?你不能吗
href=["'](\s*?)['"]
标签: php preg-replace