众所周知,正则表达式不简单。
今天用到函数 preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit ] ),其中的$replacement参数涉及到逆向引用,看了一下PHP手册,对逆向引用概念糊涂中.......。
经过学习,基本了解,作如下笔记
什么是逆向引用?
preg_replace函数的作用是在$subject 文本中查找匹配模式$pattern,用替换文本$replacement进行替换即可,逆向引用除了上述以外,另外还要对$replacement中的等殊逆向引用字符在$subject与$pattern子模式中匹配的文本进行替换。
什么是子模式?
$pattern参数中被括号括起来的正则表达式。
如何应用?
$replacement 可以包含 \\n 形式或(自 PHP 4.0.4 起)$n 形式的逆向引用,首选使用后者。每个此种引用将被替换为与第 n 个被捕获的括号内的子模式所匹配的文本。n 可以从 0 到 99,其中 \\0 或 $0 指的是被整个模式所匹配的文本。对左圆括号从左到右计数(从 1 开始)以取得子模式的数目。
分享到:
相关推荐
preg_replace:执行正则表达式的搜索和替换 mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) preg_replace:允许你替换字符串中匹配到你定义的正则表达式。 一个简单的...
解决了ecmall php版本升级后,模板编辑,验证码不出来,preg_replace_callback() 函数替换 的方法
本函数的行为几乎和 preg_replace() 一样,除了不是提供一个 replacement 参数,而是指定一个 callback 函数。该函数将以目标字符串中的匹配数组作为输入参数,并返回用于替换的字符串。 例如问题: preg_replace($...
preg_replace函数原型: mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) 特别说明: /e 修正符使 preg_replace() 将 replacement 参数当作 PHP 代码(在适当的逆向引用替换...
事情的起因是下午遇到了 preg_replace 函数,我们都知道 preg_replace 函数可能会导致命令执行。现在我们来一些情况。 0x02 经过 踩坑1: 测试代码大概是这样的: foreach ($_GET as $regex => $value) { preg_...
PHP函数preg_replace()原型:mixed preg_replace (mixed $pattern, mixed $replacement, mixed $subject [, int $limit]) PHP函数preg_replace()较c的功能更加强大。其前三个参数均可以使用数组;第四个参数$limit...
在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换)。 详情介绍参考博文:PHP函数preg_replace() ...
eregi_replace与preg_replace 函数代码的用法比较
介绍:preg_replace 执行正则表达式的搜索和替换,如果只是单纯的匹配字符串建议使用str_replace(),因为其执行效率高的多。mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) ...
php正则表达式功能强大,本范例演示了preg_replace_callback函数的用法 // Define a dummy text, for testing... $Text = "Title: Hello world!\n"; $Text .= "Author: Jonas\n"; $Text .= "This is a example ...
以下是对PHP中的函数preg_match_all正则表达式的基本使用进行了详细的分析介绍,需要的朋友可以过来参考下
在前面我们也说过,基于perl的正则表达式要快于POXIS正则表达式处理函数,所以我们只介绍以preg开头的基于perl的正则表达式。注意:在能偶使用字符串函数处理的时候,就不要使用正则表达式来处理字符串,因为字符串...
function ubb($Text) { $Text=htmlspecialchars($Text);... $Text=preg_replace(“/\\t/is”,” “,$Text); $Text=preg_replace(“/\[h1\](.+?)\[\/h1\]/is”,”<h1>\\1”,$Text); $Text=preg_repla
preg_replace 使用的超过了php5.2默认允许的字节,也就是pcre.backtrack_limit和pcre.recursion_limit的大小的问题。 Discuz!6.0.0正式版程序发布以来,大家都热火朝天的升级中,但是部分插件在6.0下出现了问题 比如...
本篇文章是对php中的preg_match函数与preg_match_all函数进行了详细的分析介绍,需要的朋友参考下
本文实例讲述了PHP正则表达式函数preg_replace用法。分享给大家供大家参考,具体如下: preg_replace 执行一个正则表达式的搜索和替换 语法:preg_replace (pattern ,replacement ,subject,limit,count ) 参数 ...
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in……. 注意:不是所有人的ECSHOP都会报这个错误,只有使用PHP5.5环境的ECSHOP才会报这个错误。 下面ecshop开发...
关于preg_replace函数的问题讲解