php帮助文档这么说的:
说明
int ereg ( string $pattern , string $string [, array &$regs ] )
...
...
“如果在 string 中找到 pattern 模式的匹配则返回 所匹配字符串的长度,如果没有找到匹配或出错则返回 FALSE。如果没有传递入可选参数 regs 或者所匹配的字符串长度为 0,则本函数返回 1。 ”

解决方案 »

  1.   

    没有传入可选参数regs 函数也不可能返回1啊
      

  2.   

    怎么不可能 
    $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 
      

  3.   

    别ereg了,这函数要被抛弃了的
      

  4.   

    这个函数在5.3里面就已经不能使用了,会报出错误,被遗弃的函数,已经使用preg_match来代替了.
    两者使用的方法是一样,第一个参数是模式,也就是正则的模式,第二个参数是要匹配的字符串.
      

  5.   

    谢谢啊,这句话实在是太难理解了:$r=ereg ("abc", 'abcabc');
    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"
    }
    */
      

  6.   

    如果没有传递入可选参数 regs 或者所匹配的字符串长度为 0,则本函数返回 1
    这句话是错误的!$r = @ereg ("abc", 'AbcAbc');//肯定是不能匹配到的
    var_dump($r);  // boolean false