eregi_replace与preg_replace 函数代码的用法比较
eregi_replace与preg_replace 函数代码的用法比较
发布时间:2016-12-29 来源:查字典编辑
摘要:eregi_replace(stringpattern,stringreplacement,stringstring)preg_replac...

eregi_replace(stringpattern,stringreplacement,stringstring)

preg_replace(mixedpattern,mixedreplacement,mixedsubject[,intlimit[,int&count]])

以上两个函数基本义定义我知道

但是里面样式或参数的定义我搞不懂

例如以下是UBB与YBBCode的用法

$str=eregi_replace("[url]http://([^[]*)[/url]","<ahref="http://1"target="_blank">1</a>",$str);

$text=preg_replace("!([url=)(http|https|ftp)(://S+?)(])(.+?)([/url])!i","<ahref='23'target='_blank'>5</a>",$text);

有谁能说明解决里面那些符号代表何意义?

我相信很多人也只会照抄来用

但是搞不懂意思,搞不懂意思的话,就不可能自己写程式,

发挥这函数的功能了

preg_replace()函数使用了Perl兼容正则表达式语法,通常是比ereg_replace()更快的替代方案。

形式或(自PHP4.0.4起)$n形式的逆向引用,首选使用后者。每个此种引用将被替换为与第n个被捕获的括号内的子模式所匹配的文本

n可以从0到99,其中或$0指的是被整个模式所匹配的文本。对左圆括号从左到右计数(从1开始)以取得子模式的数目

例子1.逆向引用后面紧接着数字的用法

复制代码 代码如下:

<?php

$string="April15,2003";

$pattern="/(w+)(d+),(d+)/i";

$replacement="${1}1,$3";

printpreg_replace($pattern,$replacement,$string);

/*Output

======

preg_replace()搞不清楚是想要一个1的逆向引用后面跟着一个数字1还是一个11的逆向引用。本例中的解决方法是使用${1}1

April1,2003

*/

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新正则表达式学习
热门正则表达式学习
编程开发子分类