顧客からバグが報告され、このコードまで追跡しましたが、何が問題なのかわかりません。
$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 を解析しようとしているわけではなく、検索は純粋にサンプルであるため、アプローチの修正は必要ありません)