php帮助文档这么说的:
说明
int ereg ( string $pattern , string $string [, array &$regs ] )
...
...
“如果在 string 中找到 pattern 模式的匹配则返回 所匹配字符串的长度,如果没有找到匹配或出错则返回 FALSE。如果没有传递入可选参数 regs 或者所匹配的字符串长度为 0,则本函数返回 1。 ”
说明
int ereg ( string $pattern , string $string [, array &$regs ] )
...
...
“如果在 string 中找到 pattern 模式的匹配则返回 所匹配字符串的长度,如果没有找到匹配或出错则返回 FALSE。如果没有传递入可选参数 regs 或者所匹配的字符串长度为 0,则本函数返回 1。 ”
$date='2012-10-16';
$r=ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date);
var_dump($r); // int(1) 它是说匹配到了,而没有传入可选参数regs,则返回 1
两者使用的方法是一样,第一个参数是模式,也就是正则的模式,第二个参数是要匹配的字符串.
var_dump($r); // int(1) $r=ereg ("abc", 'abcabc',$matchs);
var_dump($r); // int(3)
var_dump($matchs);
/*
int(3)
array(1) {
[0]=>
string(3) "abc"
}
*/
这句话是错误的!$r = @ereg ("abc", 'AbcAbc');//肯定是不能匹配到的
var_dump($r); // boolean false