https://www.jmqz1000.com

php正则表达常用函数的总结(代码示例)

本篇文章给大家带来的内容是关于php正则表达常用函数的总结(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

php中常用的html' target='_blank'>正则表达式函数
* preg_match()
* preg_match_all()
* preg_replace()
* preg_filter()
* preg_grep()
* preg_split()
* preg_quote()

接下来对比讲解:

讲解中 $pattern 通常正则表达式 $subject 通常表示目标处理数据
定义一个方法 方便查看数据类型:

function show($val = null){
 if(empty($val)){ 
 //打印空
 echo mull 
 }elseif(is_array($val) || is_object($val)){ 
 //打印数组或者对象
 echo pre 
 print_r($val); 
 echo /pre 
 }else{ 
 //打印string int float
 echo $val;
}

preg_match()与preg_match_all()

 /*方法简单说明*/
 preg_match($pattern,$subject,[array $matches]) 
 //匹配一次 第三个参数可选 匹配结果放置matches数组
 preg_match_all($pattern,$subject,array matches) 
 //匹配多次 三参必选 匹配结果放置matches数组
 $pattern = /[0-9]/ 
 $subject= b5fg4sgf3sd2f1g 
 $m1 =preg_match($pattern,$subject,$arr1);
show($m1);
show($arr1);
Array
 [0] = 5
 $m2 =preg_match_all($pattern,$subject,$arr2);
show($m2);
show($arr2);
Array
 [0] = Array
 [0] = 5
 [1] = 4
 [2] = 3
 [3] = 2
 [4] = 1
 */

2.preg_replace()与preg_filter()

/*方法简单说明*/
 * preg_replace与preg_filter
 * preg_replace($pattern,$replacement,$subject)
 * //正则替换函数被替换对象是数组 返回全部
//正则替换函数 被替换对象是数组 仅返回被替换元素
 * 联想:str_repalce() 
 * echo str_replace( world , Shanghai , Hello world! 
 * //得到Hello Shanghai!
//第一测 字符串中替换字符串 结论:此处preg_replace()与preg_filter()无区别
$pattern = /[0-9]/ 
$subject= b65fg4sgf3sd2f1g 
$replacement = _ 
$str1 = preg_replace($pattern,$replacement,$subject);
$str2 = preg_filter($pattern,$replacement,$subject);
echo hr 
show($str1);
echo br 
show($str2);
b__fg_sgf_sd_f_g
b__fg_sgf_sd_f_g
 //第二测 字符串中根据数组正则 替换 结论:此处preg_replace()与preg_filter()无区别
 $pattern = array( /[123]/ , /[456]/ , /[789]/ 
 $subject= b123fg3456sgf3789f1g 
 $replacement = array( 天 , 地 , 人 
 $str3 = preg_replace($pattern,$replacement,$subject);
 $str4 = preg_filter($pattern,$replacement,$subject);
 echo hr 
show($str3);
echo br 
show($str4);
b天天天fg天地地地sgf天人人人f天g
b天天天fg天地地地sgf天人人人f天g
 //第三测 数组中根据数组正则 替换 结论:此处展示preg_repalce()与preg_filter()区别
 $pattern = array( /[123]/ , /[456]/ , /[789]/ 
 $subject=array( b , fg3 , 456 , sgf , 789 , fg 
 $replacement = array( 天 , 地 , 人 
 $str5 = preg_replace($pattern,$replacement,$subject);
 $str6 = preg_filter($pattern,$replacement,$subject);
 echo hr 
show($str5);
echo br 
show($str6);
Array
 [0] = b
 [1] = fg天
 [2] = 地地地
 [3] = sgf
 [4] = 人人人
 [5] = fg
Array
 [1] = fg天
 [2] = 地地地
 [4] = 人人人
 */

3 . preg_grep($pattern, array $subject) //此处$subject只可以为一维数组

/*函数说明*/
preg_grep($pattern,array $input)//只可以匹配一维数组 返回匹配成功的数组元素
可以理解preg_grep()为阉割版 preg_filter()
只做了匹配 不作替换
$pattern = /[0-9]/ 
$subject=array( b , fg3 , 456 , sgf , 789 , fg 
$arr = preg_grep($pattern,$subject);
show($arr);
Array
 [1] = fg3
 [2] = 456
 [4] = 789
 */

4 . preg_split($pattern,$subject)//一匹配成功为切割点切割字符串成数组
可以理解preg_split()升级版的explode()

$pattern = /[0-9]/ 
$subject= bfg3456sgf789fg 
$arr = preg_split($pattern,$subject);
show($arr);
Array
 [0] = bfg
 [1] = 
 [2] = 
 [3] = 
 [4] = sgf
 [5] = 
 [6] = 
 [7] = fg
 */

5 . preg_quote($str) 正则运算符转译

/*
 * preg_quote($str) 正则运算符转译
 * . \ + * ? [ ^ ] $ () {} = ! | : -
 echo hr 
 $str = qewr{asdf}[123] 
 $str =preg_quote($str);
print_r($str);
qewr\{asdf\}\[123\]
*/

简单总结通性:
preg_ 开头
除preg_quote函数以外,第一个参数都是正则表达式
preg_match 表单验证等
preg_replace 非法词语过滤等

相关推荐:

PHP 正则表达式常用函数,php正则表达式函数

常用的PHP正则表达式汇总,php正则表达式_PHP教程

以上就是php正则表达常用函数的总结(代码示例)的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读