我有一个正则表达式应该匹配以下形式的某些字符串:src="/blkjad.dafsdf">。它看起来像这样:(src|href)(\s*)?=(\s*)?(\"|\')/([^/].*?)\4.
虽然这在我正在运行的一个站点上运行良好,但在另一个内置于 Cake 的站点上却始终失败。这是另一个失败的 Regex => '/(")/' 应该匹配该行中的任何双引号。
我现在很茫然。我工作的一位高级开发人员只是看了看它,基本上摇了摇头。不幸的是,我对 Cake 不是很熟练,而且我似乎在网上找不到任何类似的问题。有任何想法吗?
编辑:作为记录,失败的正则表达式使用 preg_match_all,而另一个(相同/工作的正则表达式)使用 preg_replace。这是一些相关的代码。
$regex['php'] = '/(src|href)(\s*)?=(\s*)?(\"|\')\/([^\/].*?)\4/';
$php = htmlspecialchars(file_get_contents(sprintf('/home/x/x/x/x/x/%s.%s', $string, $extension))); echo $php;
if (preg_match_all($regex['php'], $php, $out)){
echo sizeof($out);
echo nl2br(print_r($out, true));
} else {
echo 'Doesn\'t work';
}