php调试不要被浏览器蒙蔽了眼睛

昨日社区一哥们q我,让我解决一个《 请高手解决php正则替换 》 帖子

要求是:把字符串 abcdefghi中的 a c gh 前后用 <>起来,结果用该是 <a>b<c>def<gh>i,这样的。必须用preg_replace。

 

php使用手册中对preg_replace的举例有5个,其中前两个都可以用不同的方式实现此结果:

 

Example #1 逆向引用后面紧接着数字的用法

     echo preg_replace("/(f|c|gh)/i", "</${1}>", "abcdefghi");

Example #2 在 preg_replace() 中使用索引数组

    echo preg_replace(array("/a/", "/c/", "/gh/"), array("<a>","<c>","<gh>"), "abcdefghi"

 

我从语法上没找到错误,但是浏览器一直输出:bdefi。让我一直怀疑自己正则用的有问题。经过无数次测试,并参考大家的回复,我确定自己没有错误。然后查看源代码发现,其实我的输出是正确的。豁然开朗,只是浏览器把<a>这类的字符串隐去了。

 

多谢一个哥们echo preg_replace("/a|c|gh/", "<$0>", "abcdefghi");的提醒

 

用浏览器显示调试结果,源代码才是最正确的,不要被表象蒙蔽了眼睛!

你可能感兴趣的:(c,PHP,浏览器,测试)