php如何使用正则表达式实现替换

php正则表达式实现替换的方法:首先创建一个PHP示例文件;然后定义一个字符串;最后通过正则表达式“preg_replace(“/[0-9]/”,””,$str);”去掉字符串中所有数字即可。

php如何使用正则表达式实现替换

本教程操作环境:Windows7系统、PHP5.6版,该方法适用于所有品牌电脑。

推荐:《PHP视频教程》

PHP正则替换preg_replace函数的使用

经过以上的例子,相信大家知道,[ ] 和里面的,有什么作用了。也可以看到,匹配的字符串必须加 / /(看例子的第一个参数)<?php $str="acsdcsscsdcd";echo preg_replace("//","",$str);//这个是表示去除以结尾的那部份,输出结果是:acsdcssdcd注意:上面的 .* 是表示任何字符,也就是说不管包住的是什么都去掉其中. 表示任意字符, * 表示任意个数现在我们来改动一下,如果不想是任何个数呢?$str="acsdcsscsdcd";echo preg_replace("//","",$str); //此时输出:acsdcsscsdcd因为{4}指定了条件:内为4个字符的才满足条件,所以不符合条件,没有被替换。注意:这时我们又学到了一个知识点{数字} 表示指定前面的个数,*就表示是任意个(0--无限个)表示重复次数的除了 *, {指定次数} 表示,还有很多表达形式: <?php $str="acsdcsscsdcd";echo preg_replace("//","",$str);//输出acsdcscdecho "
";echo preg_replace("//","",$str);//输入acsdcsscsdcd?>上面的例子只要是为了 表达 * 与+的区别 ,* 表示重复0数或n 次,而+ 表示1次以上,即一例中表示里面至少要有一个数字才符合条件。相信这时大家知道,为什么上例中用* 和用+输出的结果不同了吧再来:<?php $str="acsdcsscsdcd";echo preg_replace("//","",$str);//输出acsdcsscsdcd?>看[0-9]? 这里的?表示要是0次或1 次,超过1次又不符合条件了。总结一下,上面我们学会了 * + ? 和大括号{}表示重复次数的方法。----------------------------------------------------------------------------------------------------    $s=preg_replace("/(.*?[月票|求|更].*?)/i","",$s);    preg_match_all('/href="([0-9]+).shtm">(.+?)/i',$s,$arr_dstorycate);        print_r($arr_dstorycate);----------------------------------------------------------------------------------------------------   preg_match_all("/php如何使用正则表达式实现替换/i",$content,$arr_dstorycate);               print_r($arr_dstorycate);

登录后复制

补充:

立即学习“PHP免费学习笔记(深入)”;

.$pattern是数组,$replace也是数组,则中对应的 元素进行替换

php

preg_replace有五个参数,有三个是必须参数

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

 $pattern 可以是字符串,字符串数组,或者preg

$replace 是用于替换的字符串或字符串数组

$subject 目标字符串或者目标字符串数组

$limit 每个模式在每个$subject上最大的替换次数,默认是-1(无限次)

$count 返回在目标字符串所替换的次数

在repalce与pattern中有几点要注意的

1.$pattern是数组,$replace也是字符串,那么所有模式都使用这个字符串来匹配;

 php如何使用正则表达式实现替换

2.$pattern是数组,$replace也是数组,则中对应的 元素进行替换

php如何使用正则表达式实现替换

3.如果数组$pattern大于$replace,则多出来的$pattern用空的字符串进行替换,

php如何使用正则表达式实现替换
$replace少于$patterns,则匹配到的值全部用空字符串来替换

4.对于上面例子中出现的${1},${2},${3},这个叫做包含后向引用,里面的数字代表原子出现的位数,有两种写法,一种是\n,一种是${n},推荐使用第二种写法.会把目标字符串匹配到的pattern中的原子,按照要求变化目标字符串的格式,或者匹配的原子原样输出(这里举两个例子)

 php如何使用正则表达式实现替换

 把时间按照 下划线分割开来,${3}就是匹配的到$patterns中的第三个原子((d{1,2})),${4}就是匹配的到$patterns中的第四个原子((d{1,2}))以此类推,

 php如何使用正则表达式实现替换

 例如大家熟悉的smarty模板引擎中编译后替换的方法

5.第四个参数的$limit的使用,第四个参数的意思是每个模式在每个subject上进行替换的最大次数

php如何使用正则表达式实现替换
如果limit为n,它只用正则替换n次

6.第五个参数$count的使用,$count的意思是,subject目标字符串被替换的次数,拿第五点的例子来说

php如何使用正则表达式实现替换

上面代码中的例子运行结果如下:

 php如何使用正则表达式实现替换

附加:

preg_replace与str_replace的关系是什么呢?

我们可以理解为str_replace是preg_repalce的一个子集.只是str_replace中的第一个参数写的是string,而preg_replace写的是一个正则表达式

以上就是php如何使用正则表达式实现替换的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2520687.html

(0)
上一篇 2025年3月5日 16:44:13
下一篇 2025年2月23日 10:59:25

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php开发培训哪个好

    php开发培训哪个好?php作为如今最火热的web开发语言之一,越来越多的朋友想要培训php,掌握一技之长,但是市面上那么多php培训机构,我们该怎么选择呢?其实大家也不必过于纠结! 下面就给大家提供几点有用的建议: 1、尽可能对比两家以上…

    2025年3月5日
    200
  • 杭州php好找工作吗

    杭州php好找工作吗?杭州作为新一线城市,而php作为最热门的web开发语言之一,php工作肯定是好找的!杭州php平均工资在10k左右,所以php岗位自然是很吃香的。 推荐:《PHP培训》 下面我在某招聘网站上找到的关于PHP岗位在杭州的…

    2025年3月5日
    200
  • 成都php工资2020年大概有多少

    成都php工资2020年平均在1万左右,而工作年限比较久的大佬们,能拿到到20k+。由此可见,php语言还是这么的吃香啊!毕竟是最热门的web开发语言之一,php简单、效率高,备受广大开发者们的喜爱,所以也越来越多的人想要进行php培训,然…

    2025年3月5日
    200
  • php 加密方法有哪些

    php加密方法有:1、MD5加密方法;2、Crype加密方法;3、Sha1加密方法;4、URL加密方法;5、Base64信息编码加密方法等等。 推荐:《PHP视频教程》 该方法适用于所有品牌电脑。 PHP密码的六种加密方式 1. MD5加密…

    2025年3月5日
    200
  • php如何隐藏图片

    推荐:《PHP视频教程》 本教程操作环境:Windows7系统、PHP5.6版,该方法适用于所有品牌电脑。 php 隐藏图片地址 代码: 立即学习“PHP免费学习笔记(深入)”; test.php  this is test! 登录后复制 …

    2025年3月5日
    200
  • php 类的魔术方法有哪些

    php类的魔术方法有:1、“__sleep”方法,返回一个包含对象中所有应被序列化的变量名称的数组;2、“__wakeup”方法,与“__sleep”相反;3、“__tostring”方法,返回一个类被当做字符串时要输出的内容等等。 本教程…

    2025年3月5日
    200
  • 如何解决php找不到类的问题

    php找不到类的解决办法:首先打开错误文件;然后把“try catch”暂时去掉;接着在“new SmsSingleSender()”之前打印include的文件;最后正确使用include即可。 推荐:《PHP视频教程》 本教程操作环境:…

    2025年3月5日
    200
  • php 读取数据库乱码怎么办

    php读取数据库乱码的解决办法:1、修改文件编码;2、在HTML代码HEAD里面声明编码;3、修改数据库连接编码;4、将页面声明编码与数据库连接编码设置为一致。 本教程操作环境:windows7系统、PHP5.6版,该方法适用于所有品牌电脑…

    2025年3月5日
    200
  • 如何解决php zend乱码问题

    php zend乱码的解决办法:首先执行install.sh安装zend;然后指定php.ini和apache脚本的位置;接着重启apache;最后在php.ini中激活zend即可。 本教程操作环境:Windows7系统、PHP5.6版,…

    2025年3月5日
    200
  • php中替换字符串的实现方法

    php中替换字符串的实现方法:首先创建一个PHP示例文件;然后通过“str_replace(“red”,”black”,”red green yellow pink purple&…

    2025年3月5日
    200

发表回复

登录后才能评论