preg_match($p,$s)有返回1,没有返回0
$s="中国1人a";
$p='/\d/';
//echo preg_match($p,$s);//有返回1,没有返回0;
1
$pm='/^1[3,5,8,7]\d{9}$/';
$mobile='1522154473481';
if(preg_match($pm,$mobile)==true){
echo '手机号输入正确';
}else{
echo '手机号格式错误,请检查......';
}
手机号格式错误,请检查......
preg_match_all($p,$s) 返回匹配了多少回
$s="中国1人a-56-112";
$p='/\d/';
$r=preg_match_all($p,$s);
echo $r; //6
U为贪婪模式,按照最低标准走
$s="中国1人a-56-112";
$p='/\d{1,3}/U';
$r=preg_match_all($p,$s,$rr);
echo $r; //6
echo '<pre>';
print_r($rr);
preg_replace($p2,'*',$s) 替换
$s="中国1人a-56-112";
$p='/\d{1,3}/U';
$p2='/\d{1,3}/';
echo preg_replace($p2,'*',$s);
中国*人a-*-*
preg_replace($p2,'*',$s,100,$c) (正则表达式,要替换的内容,含替换内容的字符串,总归可以替换多少次,总共替换多少次)
$s="中国1人a-56-112";
$p='/\d{1,3}/U';
$p2='/\d{1,3}/';
echo preg_replace($p2,'*',$s,100,$c);
//100表示为可以最多替换100次,$cc为总替换多少次;
echo $c;
中国*人a-*-*3
preg_split($pp,$addr) 将字符串分割成数组
$addr='郑州,开封a南阳6洛阳100许昌';
$pp='/[,a]|\d{1,3}/';
$rr=preg_split($pp,$addr);
echo '<pre>';
print_r($rr);
preg_replace_callback()执行一个正则表达式搜索并且使用一个回调进行替换
$s='php123java55';
$p='/\d/';
function a(){
echo 'ok<br>';
}
preg_replace_callback($p,'a',$s);//有5个匹配的值所以输出5个ok
$s='php123java55';
$p='/\d/';
function a(){
echo 'ok<br>';
}
echo preg_replace_callback($p,'a',$s);
$s='php123java55';
$p='/\d/';
function a($m){
return $m[0].'aaa';
}
echo preg_replace_callback($p,'a',$s);
preg_grep($p,$s)取出包含李四的或者包含河南的数组里面的字符串
$s=['河南李四','河南赵六','北京李四四','河南张三丰'];
$p='/河南|李四/';
$rr=preg_grep($p,$s);//取出包含李四的或者包含河南的数组里面的字符串
echo '<pre>';
print_r($rr);
preg_replace($p,'豫',$s)把所有的河南修改为豫
$s=['河南李四','河南赵六','北京李四四','河南张三丰'];
$p='/河南/';
$rr=preg_replace($p,'豫',$s);//把所有的河南修改为豫
echo '<pre>';
print_r($rr);