搜索
您的当前位置:首页php preg_replace替换函数的用法

php preg_replace替换函数的用法

来源:小侦探旅游网
郑州网站建设,郑州网站制作

解释:字符串比对解析并取代。

语法: 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/

因篇幅问题不能全部显示,请点此查看更多更全内容

Top