站长图库向大家介绍了php正则替换,preg_replace等相关知识,希望对您有所帮助
本文通过几个实例和大家一起学习preg_replace函数,了解其基本用法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
PHP preg_replace()实例
<?php$str="jDTJNKLgfjn40000km4rfj185228554x";echo $str;echo '<hr>';echo preg_replace("/0/","",$str);//去掉0字符,此时相当于replace的功能, preg_replace("/0/","A",$str); 这样就是将0变成A的意思了echo '<hr>';echo preg_replace("/[0-9]/","",$str);//去掉所有数字echo '<hr>';echo preg_replace("/[a-z]/","",$str); //这样是去掉所有小写字母echo '<hr>';echo preg_replace("/[A-Z]/","",$str); //这样是去掉所有大写字母echo '<hr>';echo preg_replace("/[a-z,A-Z]/","",$str); //这样是去掉所有字母echo '<hr>';$cmcc="gfjhrt1585dujk中国人dD中南海DfrtGHJ152YMet";echo $cmcc;echo '<hr>';echo preg_replace("/[a-z,A-Z,0-9]/","",$cmcc); //去掉所有字母和数字?>
从这个例子我们可以直观的看到preg_replace函数的用法。也可以看到,匹配的字符串必须加 / /(看例子的第一个参数),不加/ /是没有办法去除掉我们想要去除的数字,字母。
<?php$str="jDT<JNKLgfjn40000km4rfj18>5228554x";echo preg_replace("/<.*>/","",$str);?>
这是表示去除以<开头,以>结尾的部份,输出结果是:jDT5228554x。
注意:.* 是表示任何字符,说明不管<>包的是什么都会去掉。 . 表示任意字符,* 表示任意个数。
<?php$str="sfrjjd<55555555>sc<6666>sd<>cd";echo preg_replace("/<[0-9]*>/","",$str);//输出sfrjjdscsdcdecho "<hr>";echo preg_replace("/<[0-9]+>/","",$str);//输出sfrjjdscsd<>cd?>
这个例子表示出了*与+的区别 ,*表示重复0次或n 次,而+表示至少一次,即<[0-9]+>表示<>里面至少要有一个数字才符合条件。
这时相信大家知道,为什么同样的一个字符串,使用不同的字符,输出结果也有所不同了吧。