专注于高品质PHP技术等信息服务于一体 [STIEMAP] [RSS]

百度提供的广告:
PHP
当前位置:首页 > 技术文档 > PHP >  > 
ereg preg_match preg_match_all 区别

<?php
$date = date('Y-m-d');
//ereg
ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",$date,$rs);
var_dump($rs);
unset($rs);
echo "-----------------------------------------<br>";
//preg_match
preg_match("/([\d]{4})-([\d]{1,2})-([\d]{1,2})/",$date.$date,$rs);
var_dump($rs);
unset($rs);
echo "-----------------------------------------<br>";
//preg_match_all
preg_match_all("/([\d]{4})-([\d]{1,2})-([\d]{1,2})/",$date.$date,$rs);
var_dump($rs);

?>
ereg 可以用 preg_match 替换
preg_match 和 preg_match_all 区别是preg_match只匹配一次。preg_match_all 全部匹配,只到字符串结束。
输出:
array(4) {
  [0]=>
  string(10) "2011-10-22"
  [1]=>
  string(4) "2011"
  [2]=>
  string(2) "10"
  [3]=>
  string(2) "22"
}
-----------------------------------------<br>array(4) {
  [0]=>
  string(10) "2011-10-22"
  [1]=>
  string(4) "2011"
  [2]=>
  string(2) "10"
  [3]=>
  string(2) "22"
}
-----------------------------------------<br>array(4) {
  [0]=>
  array(2) {
    [0]=>
    string(10) "2011-10-22"
    [1]=>
    string(10) "2011-10-22"
  }
  [1]=>
  array(2) {
    [0]=>
    string(4) "2011"
    [1]=>
    string(4) "2011"
  }
  [2]=>
  array(2) {
    [0]=>
    string(2) "10"
    [1]=>
    string(2) "10"
  }
  [3]=>
  array(2) {
    [0]=>
    string(2) "22"
    [1]=>
    string(2) "22"
  }
}