$str='sdfasfs12333ddd12233';
preg_match('/\d\d\d/si',$str,$arr);//找三个连续数字
echo '
'; <p>print_r($arr);</p> <p>echo '</p>';
1。此函数,只会配第一个符合的值。
2。$arr[0]存其结果。
preg_match_all所有结果,故是二维数组:$arr[0][1]存放第一个结果,$arr[0][n]存放第n个结果;
$arr[1][0]存放第一个结果中的,第一个子表达式的结果,$arr[1][n]存放第n+1个结果中的,第一个子表达式的结果;
例子:wei静态时,最常使用的知识点
$str="111-555-666 dfs5+fsfffsd-2215affsfsdf";
preg_match('/(\d)\1{2}-(\d)\2{2}-(\d)\3{2}/si',$str,$arr);//一定要使用',不能使用“,因为存在反向捕获
第二:http://localhost/wc.php/15,23,45.html处理方法:
法一,在php中使用正则表处理;$_SERVER[PATH_INFO];
$para=$_SERVER['PATH_INFO'];
$pattern='/(\d)+/si';//有一个数字
$pattern='/\/(\d+),(\d+),(\d+)\.html$/si';
preg_match($pattern,$para,$arr);
法二,使用apache rewrite处理。