站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

php怎么实现正则替换内容

时间:2022-04-29 [网络编程]作者:fabuyuan 浏览:6 次

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);
// 将会改变为'欢迎来到站长家园'
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怎么实现正则替换内容的详细内容,更多请关注站长家园其它相关文章!

本文标签:  正则表达式php

转载请注明来源:php怎么实现正则替换内容

本文永久链接地址:https://www.adminjie.com/post/11823.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • jquery怎么修改style属性来隐藏元素

      jquery怎么修改style属性来隐藏元素

      两种隐藏方法:1、使用css()控制display样式,语法“元素对象.css('display','none')”;2、使用attr()控制display样式...

    • php怎么判断是否为关联数组

      php怎么判断是否为关联数组

      方法:1、使用“array_keys($arr)”获取数组键名,返回一个键名数组;2、遍历键名数组,判断是否有数组元素为字符串,语法“foreach($kas...

    • php怎么判断两个数组是否有相同值

      php怎么判断两个数组是否有相同值

      方法:1、用array_intersect()比较两个数组的值,语法“array_intersect(数组1,数组2)”,会返回一个交集数组;2、判断交集数组是...

    • vue父子组件间如何进行通讯?(附示例)

      vue父子组件间如何进行通讯?(附示例)

      vue父子组件间如何进行通讯?下面本篇文章给大家介绍一下父组件将数据传给子组件、子组件将数据传给父组件的方法,希望对大家有所帮助!每一个组件中的变量和数据都是独...

    • 浅析VSCode中如何手动配置Git(图文教程)

      浅析VSCode中如何手动配置Git(图文教程)

      如果VSCode拉取代码时却找不到git,报错怎么办?下面本篇文章给大家介绍一下解决方法,聊聊VSCode中手动配置Git的方法,希望对大家有所帮助!电脑已经安...

    热门文章