當前使用以下字符串作爲我的模式。 (警告:preg_match():未知修飾符'0')preg_match():未知修飾符
$between = preg_match("(.*)".$check."(.*)", _allbetween($coords1, $coords2));
我在做什麼錯?
以前從未在php中使用正則表達式,請原諒這可能是非常簡單的問題。
當前使用以下字符串作爲我的模式。 (警告:preg_match():未知修飾符'0')preg_match():未知修飾符
$between = preg_match("(.*)".$check."(.*)", _allbetween($coords1, $coords2));
我在做什麼錯?
以前從未在php中使用正則表達式,請原諒這可能是非常簡單的問題。
您必須添加分隔符的圖案,並使用preg_quote如果$檢查包含一個文本字符串:
preg_match("/(.*)".preg_quote($check)."(.*)/", _allbetween($coords1, $coords2));
注意的preg_match返回1或0(TRUE或FALSE),而不是比賽結果(見php manual )
PHP中的正則表達式必須由一對字符包圍,這些字符不會在正則表達式本身中出現(並且如果它們可以使用反斜線進行轉義)。
您使用的字符是通過第一個字符定義的 - 您的情況爲(
。但是在正則表達式中,括號已經有了特殊的含義。
你應該是最常用的分隔符/
(斜線)附上正則表達式,如:
$between = preg_match(sprintf('/(.*)%s(.*)/', preg_quote($check)), _allbetween($coords1, $coords2));
$check
是一個...)
這很好用。我會選擇你的答案爲簡單! –