解释:字符串比对解析并取代。
语法: mixed preg_replace(mixed pattern, mixed replacement, mixed subject);
返回值: 混合类型资料
函数种类: 资料处理
内容说明: 本函数以 pattern 的规则来解析比对字符串 subject,欲取而代之的字符串为参数 replacement。返回值为混合类型资料,为取代后的字符串结果。
//preg_replace()和ereg_replace()函数的使用的比较 // -------preg_replace()-------------------------- //1.进行字符串的查找的替换
$str = \"daoyu shi ge hao hai zi 5555\";
$pattern = \"/\\s/\"; //如果将变量定义为$pattern_1会出错 $str = preg_replace($pattern,'-',$str); echo $str.\"
\";
//2.对字符串的逆向引用 //方法一
$pat = \"/(\\w+)-(\\w+)-(\\w+)-(\\w+)-(\\w+)-(\\w+)-(\\d+)/i\"; $str =preg_replace($pat,\"\\$1\echo $str.\"
\";
//注意:如果是下面这种形式你会发现匹配的是:zi- 所以可以这样认为在有次数的{6}的情况下,他($1)匹配的是最后一次 $pat = \"/((\\w+)-){6}(\\d+)/i\";
$str =preg_replace($pat,\"\\$1\echo $str.\"
\";
//方法二
$str = \"daoyu-shi-ge-hao-hai-zi-5555\";
$pat = \"/(\\w+)-(\\w+)-(\\w+)-(\\w+)-(\\w+)-(\\w+)-(\\d+)/i\"; $str =preg_replace($pat,\"\\\\1\
echo $str.\"
\";
//注意:当正则写成$pat= \"/((\\w+)-){6}(\\d+)/i\";时和上面的情况一样 //3 当参数是数组的情况(用下手册的例子)
$string = \"The quick brown fox jumped over the lazy dog.\";
$patterns[0] = \"/quick/\";
本文章由郑州网站建设http://www.wangzhanjs.com/整理发布, http://blog.chinabyte.com/u/209560/
郑州网站建设,郑州网站制作
$patterns[1] = \"/brown/\"; $patterns[2] = \"/fox/\";
$replacements[2] = \"bear\"; $replacements[1] = \"black\"; $replacements[0] = \"slow\";
print preg_replace($patterns, $replacements, $string).\"
\";
//或许你已经发现了,他是按“将以其键名在数组中出现的顺序来进行处理。这不一定和索引的数字顺序相同”按我的理解就是在按“写”的顺序而这并不一定是//索引的顺序(书册上还有还有ksort()后的例子,时间关系就不说了,有兴趣的兄弟可以自己找着看下)
//好preg_replace()就扯到着,开是扯下一个ereg_replace() //---------------------ereg_replace()------------------
//1.进行字符串的查找的替换
$str = \"daoyu shi ge hao hai zi 5555\";
$pattern = \"[a-zA-Z]+\"; //如果写成$pattern= \"/[a-zA-Z]+/\"; 将不做任何替换也就是说这里不能用正则“/”(可能就是着两个函数的第一个区别 :)) $str = ereg_replace($pattern,'~',$str); echo $str.\"
\";
//2.对字符串的逆向引用 //在用下书册上的例子
$string = \"This is a test\";
//echo ereg_replace(\"( )is\1was\\\\\1”匹配”(空格)is“ 这部分的空格,换句话说就是”替换为数字表示的的第几个括号内//的子串“
echo ereg_replace(\"(( )is)\
//对上面的使用还有疑惑的兄弟可参考写这篇文章http://elma.9iec.com/index.php?job=art&articleid=a_20051104_175700 $string = \"The quick brown fox jumped over the lazy dog.\";
$patterns[0] = \"/quick/\"; $patterns[1] = \"/brown/\"; $patterns[2] = \"/fox/\";
$replacements[2] = \"bear\"; $replacements[1] = \"black\";
$replacements[0] = \"slow\";
print ereg_replace($patterns, $replacements, $string).\"
\";
本文章由郑州网站建设http://www.wangzhanjs.com/整理发布, http://blog.chinabyte.com/u/209560/
郑州网站建设,郑州网站制作
//总结
//1 preg_replace()里面的正则可以写成型如:\"/..../\"而ereg_replace()里面的正则需写成型如\".....\";
//2 preg_replace()能操作数组,而ereg_replace()不可以
//3在逆向引用用preg_replace()可使用0-99个,而ereg_replace()最多为9个
//在使用过程中感觉两者的区别不是很大,在功能上也比较相似.. ?>
Tag:preg_replace preg_replace
本文章由郑州网站建设http://www.wangzhanjs.com/整理发布, http://blog.chinabyte.com/u/209560/
因篇幅问题不能全部显示,请点此查看更多更全内容