欢迎来到福编程网,本站提供各种互联网专业知识!

eregi_replace与preg_replace 函数代码的用法比较

发布时间:2007-03-20 作者: 来源:转载
eregi_replace(stringpattern,stringreplacement,stringstring)preg_replace(mixedpattern,mixedreplacement,mixedsubject[,intlimit[,int&count]])以上两个函数基本义定义我知道但是里面样式或参数的定义我搞不懂例如以下是UBB与YBBCode的用法$str=eregi
eregi_replace(stringpattern,stringreplacement,stringstring)
preg_replace(mixedpattern,mixedreplacement,mixedsubject[,intlimit[,int&count]])
以上两个函数基本义定义我知道
但是里面样式或参数的定义我搞不懂
例如以下是UBB与YBBCode的用法
$str=eregi_replace("[url]http://([^[]*)[/url]","1",$str);
$text=preg_replace("!([url=)(http|https|ftp)(://S+?)(])(.+?)([/url])!i","5",$text);
有谁能说明解决里面那些符号代表何意义?
我相信很多人也只会照抄来用
但是搞不懂意思,搞不懂意思的话,就不可能自己写程式,
发挥这函数的功能了
preg_replace()函数使用了Perl兼容正则表达式语法,通常是比ereg_replace()更快的替代方案。
形式或(自PHP4.0.4起)$n形式的逆向引用,首选使用后者。每个此种引用将被替换为与第n个被捕获的括号内的子模式所匹配的文本
n可以从0到99,其中或$0指的是被整个模式所匹配的文本。对左圆括号从左到右计数(从1开始)以取得子模式的数目
例子1.逆向引用后面紧接着数字的用法
复制代码 代码如下:
$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
*/
?>

相关推荐