why preg_match_all does not return the number of matches
Posted: Mon Oct 26, 2009 9:44 am
My regex looks like
X[^\x{4e00}-\x{9fa5}]*Y
(where X and Y are two Chinese characters)
and my expression looks like
preg_match_all("/".$regex."/iu", $content, $out, PREG_PATTERN_ORDER)
it turns out that preg_match_all is always returning 1, even though count($out[0]) is > 1 (and correctly so). So I ended up using count($out[0]) rather than the value this function returns. Though this solves the current issue I need, I am very curious why this is happening. Am I misunderstanding preg_match_all?
I'd greatly appreciate if anyone can point me to the explanation of this problem. Thanks in advance!
X[^\x{4e00}-\x{9fa5}]*Y
(where X and Y are two Chinese characters)
and my expression looks like
preg_match_all("/".$regex."/iu", $content, $out, PREG_PATTERN_ORDER)
it turns out that preg_match_all is always returning 1, even though count($out[0]) is > 1 (and correctly so). So I ended up using count($out[0]) rather than the value this function returns. Though this solves the current issue I need, I am very curious why this is happening. Am I misunderstanding preg_match_all?
I'd greatly appreciate if anyone can point me to the explanation of this problem. Thanks in advance!