php几个常用正则
php中正则的几个常用正则函数
preg_match()中第一个为正则表达式,第二个为匹配内容,第三个参数为匹配的内容.其中第三个参数为可选的,函数返回的参数为是否匹配的标志
preg_match('/name[\w]{0,10}/','the name "mcdonald nameabc" is said named "makudnameonarudo" in japanese',$matchs,PREG_OFFSET_CAPTURE); var_dump($matchs);

我们看到它只匹配一次.最后参数为返回匹配的位置。
如果是多次匹配的话我们可以尝试用preg_match_all()
preg_match_all('/name[\w]{0,10}/','the name "mcdonald nameabc" is said named "makudnameonarudo" in japanese',$matchs,PREG_OFFSET_CAPTURE); var_dump($matchs);

我们看到匹配了所有的结果和他们所在的位置.找出所有类似的要求。
接着我们来说说
preg_replace()这个函数,这个也常用
echo preg_replace('/ab/','12','abcdefgagthabpp',1); echo '<br/>'; echo preg_replace('/ab/','12','abcdefgagthabpp');

替换可以限定次数,默认全部替换
$pattern = array('/1/', '/2/', '/3/'); $replacement = array('a', 'b', 'c'); $subject = '12323176213897513'; $res = preg_replace($pattern, $replacement, $subject); echo $res;

当然也可以数组对应替换,如果被填充内容少则以空代替
$data = preg_replace('/(ftp|https?)/','tttt','ftpftpabcchttpshttps?ddd'); echo $data;

当然还有个更加强大的正则函数
preg_replace_callback()
就是匹配到需求内容时可以自定义处理,十分方便灵活
浙公网安备 33010602011771号