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

别自制压力,我们没有必要跟着时间走,只需跟着心态和能力走,随缘,尽力,达命,问心无愧,其他的,交给天。
eregi_replace(stringpattern,stringreplacement,stringstring)
preg_replace(mixedpattern,mixedreplacement,mixedsubject[,intlimit[,int&count]])
以上两个函数基本义定义我知道
但是里面样式或参数的定义我搞不懂
例如以下是UBB与YBBCode的用法
$str=eregi_replace("\\[url]http://([^\\[]*)\\[/url\\]","<arel="nofollow noopener noreferrer" href=\"http://\\1\"target=\"_blank\">\\1</a>",$str);
$text=preg_replace("!(\[url=)(http|https|ftp)(://\S+?)(\])(.+?)(\[/url\])!i","<arel="nofollow noopener noreferrer" href='\\2\\3'target='_blank'>\\5</a>",$text);
有谁能说明解决里面那些符号代表何意义?
我相信很多人也只会照抄来用
但是搞不懂意思,搞不懂意思的话,就不可能自己写程式,
发挥这函数的功能了
preg_replace()函数使用了Perl兼容正则表达式语法,通常是比ereg_replace()更快的替代方案。
形式或(自PHP4.0.4起)$n形式的逆向引用,首选使用后者。每个此种引用将被替换为与第n个被捕获的括号内的子模式所匹配的文本
n可以从0到99,其中\\0或$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
*/
?>

本文eregi_replace与preg_replace 函数代码的用法比较到此结束。身在顺境,我们固然可喜,应对逆境,也不必太过忧伤,因为人生的顺境和逆境都有其独特的魅力和存在的价值。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
eregi_replace()中特殊字符的处理方法

php正则之函数 preg_replace()参数说明