2

製品の動的リストがあり、再度チェックしています。問題は、製品名に / がある場合、preg_match で preg_match() [function.preg-match]: Unknown modifier error が返されることです。

これは機能する製品名の例です

$productName = "Samuel Cream Leather Sofa, Loveseat, Club Chair, & Ottoman Set";

これは機能しません

$productName = "Samuel Cream Leather Sofa, Loveseat, Club Chair, w/ & Ottoman Set";



foreach ($results as $result) { 
            $decodedProduct = urldecode($product);
            if(preg_match("/$decodedProduct/",$result->nodeValue)){
            echo $decodedProduct."-------------".$result->nodeValue."<br />";
            }
}
4

2 に答える 2

5

正規表現自体として機能しない値を正規表現に挿入する場合は、常に を使用しますpreg_quote

区切り文字の衝突を回避するには、 の 2 番目のパラメーターを使用して、preg_quote引用符で囲む必要がある区切り文字を定義します。

preg_match("/" . preg_quote($decodedProduct, "/") . "/", $result->nodeValue)
于 2013-08-04T23:47:58.200 に答える