一位客户报告了一个错误,我已将其追溯到此代码,但我无法弄清楚它有什么问题:
$source = "This is a test.\n\n-- a <span style='color:red'>red word</span>!\n\n- a red word!\n\n";
//$find = "- a red word!"; // This one works!
$find = "- a <span style='color:red'>red word</span>!"; // This one doesn't...
$replace = "• a <span style='color:red'>red word</span>!";
$pattern = '/^' . preg_quote($find) . '$/';
$results = preg_replace($pattern, $replace, $source);
die ("Results: " . serialize($results));
我已经包含了一个$find
有效的样本和一个$find
无效的样本。知道为什么未注释的$find
内容不起作用吗?
(注意:我实际上并没有尝试解析 HTML,搜索纯粹是一个示例,所以我不需要对方法进行更正)