1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > php正则表达式如何实现替换

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

时间:2021-01-21 21:01:46

相关推荐

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

后端开发|PHP问题

php

后端开发-PHP问题

html5微站源码,vscode前进快退,ubuntu 策略游戏,tomcat功能介绍,sqlite怎么读微信,爬虫为什么不能取到数据,php正则 1,外包seo推广价格,网站源码制作步骤,网页模板 视频,淘宝订单详情页面模板lzw

推荐:《PHP视频教学》

jsp图片网站源码,冷门vscode插件,qt4.8.7安装ubuntu,tomcat-8.0.53,sqlite 隔n行,简单的js音频播放插件,前端react框架的前景,爬虫逆向是啥,php 正则 提取,手机网站seo软件,网站过期提醒源码下载,网页头部有空白,opensns商城模板,js怎么把html页面当作对话框弹出,小说网站后台管理系统,人人商城小程序手动上传教程lzw

字符串的替换是字符串操作中非常重要的内容之一。对于一些比较复杂的字符串替换操作,可以通过正则表达式的替换函数 preg_replace() 来完成。

响应式项目案例源码下载,ubuntu20源,爬虫入门学习教程,大数据分析用php可以吗,色词seolzw

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

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

参数说明如下:

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

$replacement:用于替换的字符串或字符串数组。如果这个参数是一个字符串,并且 $pattern 是一个数组,那么所有的模式都使用这个字符串进行替换。如果 $pattern 和 $replacement 都是数组,每个 $pattern 使用 $replacement 中对应的元素进行替换。如果 $replacement 中的元素比 $pattern 中的少,多出来的 $pattern 使用空字符串进行替换。

$subject:要进行搜索和替换的字符串或字符串数组,如果 $subject 是一个数组,搜索和替换回在 $subject 的每一个元素上进行, 并且返回值也会是一个数组。

$limit:可选参数,每个模式在每个 $subject 上进行替换的最大次数。默认是 -1(无限)。

$count:可选参数,如果指定,将会被填充为完成的替换次数。

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

如果函数 preg_replace() 搜索到匹配项,则会返回被替换后的 $subject,否则返回没有改变的 $subject。preg_replace() 函数的每个参数(除了参数 $limit)都可以是一个数组。如果参数 $pattern 和参数 $replacement 都是数组,那么该函数将以其键名在数组中出现的顺序来进行处理。如果发生错误,则返回 NULL。

参数 $replacement 中可以包含后向引用 \\\\\\\\n 或 $n,语法上首选后者。每个这样的引用将被匹配到的第 n 个捕获子组捕获到的文本替换。n 可以是 0-99,\\\\\\\\0 和 $0 代表完整的模式匹配文本。

捕获子组的序号计数方式为:代表捕获子组的左括号从左到右,从 1 开始数。如果要在 $replacement 中使用反斜线,必须使用 4 个(”\\\\\\\\\\\\\\\\” 因为这首先是 php 的字符串,经过转义后是两个,再经过正则表达式引擎后才被认为是一个原文反斜线)。

当在替换模式下工作并且后向引用后面紧跟着需要是另外一个数字(比如:在一个匹配模式后紧接着增加一个原文数字),不能使用 \\\\\\\\1 这样的语法来描述后向引用。比如,\\\\\\\\11 将会使 preg_replace() 不能理解你希望的是一个 \\\\\\\\1 后向引用紧跟一个原文 1,还是一个 \\\\\\\\11 后向引用后面不跟任何东西。这种情况下解决方案是使用 ${1}1。这创建了一个独立的 $1 后向引用,一个独立的原文 1。

当使用被弃用的 e 修饰符时,这个函数会转义一些字符(即:’、”、\\\\ 和 NULL)然后进行后向引用替换。当这些完成后请确保后向引用解析完后没有单引号或双引号引起的语法错误(比如:’strlen(\\\\’$1\\\\’)+strlen(“$2”)’)。确保符合 PHP 的字符串语法,并且符合 eval 语法。因为在完成替换后,引擎会将结果字符串作为 php 代码使用 eval 方式进行评估并将返回值作为最终参与替换的字符串。

【示例】使用 preg_replace() 函数替换字符串。

运行结果如下:

/php/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。