您现在的位置是:群英 > 开发技术 > PHP语言
PHP中如何通过正则替换内容,方法是什么
Admin发表于 2022-08-26 17:46:391620 次浏览
在这篇文章中我们会学习到关于“PHP中如何通过正则替换内容,方法是什么”的知识,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望对大家学习或工作能有帮助。下面就请大家跟着小编的思路一起来学习一下吧。

php正则替换内容的方法:1、用preg_replace(),可执行正则表达式的搜索和替换,语法“preg_filter (正则式,替换值,数据)”;2、用preg_filter(),语法“preg_filter(正则式,替换值,数据)”。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

在php中,可以使用下面两个函数来实现正则替换内容

  • preg_replace():执行一个正则表达式的搜索和替换

  • preg_filter():执行一个正则表达式的搜索和替换

1、使用preg_replace()函数

preg_replace() 函数可以执行正则表达式的搜索和替换,是一个强大的字符串替换处理函数。语法格式:

preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换。

参数说明:

  • $pattern: 要搜索的模式,可以是字符串或一个字符串数组。

  • $replacement: 用于替换的字符串或字符串数组。

  • $subject: 要搜索替换的目标字符串或字符串数组。

  • $limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。

  • $count: 可选,为替换执行的次数。

返回值

  • 如果 subject 是一个数组, preg_replace() 返回一个数组, 其他情况下返回一个字符串。

  • 如果匹配被查找到,替换后的 subject 被返回,其他情况下 返回没有改变的 subject。如果发生错误,返回 NULL。

示例1:将 hello 替换为 phpcn

<?php
$string = 'hello 123, 456';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = 'phpcn ${2},$3';
echo preg_replace($pattern, $replacement, $string);
?>

示例2:删除空格字符

<?php
header('content-type:text/html;charset=utf-8');   
$str = '欢  迎  来 到 p h p 中 文 网';
$str = preg_replace('/\s+/', '', $str);
// 将会改变为'欢迎来到php中文网'
echo $str;
?>

2、使用preg_filter()函数

preg_filter() 函数也用于执行一个正则表达式的搜索和替换,等价于preg_replace() 函数;不同的是 preg_filter() 函数只返回匹配成功的结果,而 preg_replace() 返回所有结果,不管是否匹配成功。

示例:比较preg_filter() 和preg_replace()

<?php
header('content-type:text/html;charset=utf-8');   
$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4'); 
$pattern = array('/\d/', '/[a-z]/', '/[1a]/'); 
$replace = array('A:$0', 'B:$0', 'C:$0'); 
 
echo "preg_filter 返回值:";
var_dump(preg_filter($pattern, $replace, $subject)); 
 
echo "preg_replace 返回值:";
var_dump(preg_replace($pattern, $replace, $subject)); 
?>


感谢各位的阅读,以上就是“PHP中如何通过正则替换内容,方法是什么”的内容了,通过以上内容的阐述,相信大家对PHP中如何通过正则替换内容,方法是什么已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注群英网络,群英网络将为大家推送更多相关知识点的文章。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-05-26 17:49:19 
摘要:go语言使用的框架有:1、Beego框架;2、Buffalo框架;3、Echo框架;4、Gin框架;5、Iris框架;6、Revel框架。
2022-04-12 15:33:33 
摘要:在Android API21,新添加了一个属性:android:elevation,用以在xml定义View的深度(高度),也即z方向的值。除了elevation之外,类似于已有的translationX、translationY,也相对应地新增了一个translationZ,用以在属性动画中动态改变Z值(使用View.setTranslationZ())
2022-04-29 16:43:22 
摘要:这篇文章主要讨论C++ 中得set到底是什么?在C++当中,这几个东西的名字叫做vector、set和map,它们有一个共同的名字叫做STL(标准模板库)容器。下面来看看文章是怎么介绍得吧,需要的朋友可以参考一下哦
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部