|
函数声明: mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) 从subject中搜索符合pattern的内容用replacement进行替换,limit为替换次数,-1为全部替换。 replacement可以用\n或者$n的方式引用pattern中以()形式表示的字符,0<n<=99,顺序从左到右。 pattern、replacement、subject可以为数组类型。
a|b 匹配x或y [ab.-] 匹配所包含的任意一个字符 [^ab.-] 匹配未包含的任意字符 [a-z] 匹配指定范围内的任意字符 [^a-z] 匹配任何不在指定范围内的任意字符 \d 匹配一个数字字符。等价于 [0-9]。 \D 匹配一个非数字字符。等价于 [^0-9]。 \f 匹配一个换页符。等价于 \x0c 和 \cL。 \n 匹配一个换行符。等价于 \x0a 和 \cJ。 \r 匹配一个回车符。等价于 \x0d 和 \cM。 \s 匹配任何空白字符,包括空格、制表符、换页符等 \S 匹配任何非空白字符 \t 匹配一个制表符 \v 匹配一个垂直制表符 \w 匹配包括下划线的任何单词字符 \W 匹配任何非单词字符
例子:
将字符中的"和‘替换为空 $return=preg_replace("/[\"']/i","","my'home \"home\""); echo $return; output:myhome home 将邮件地址的@替换为# $return=preg_replace("/([0-9]+|\s*)@([0-9]+\s*).(\s*)/i","#.","my@163.com"); echo $return; output:my#163.com URL重写经常用到的表达式 $return=preg_replace("/news.php\?action\=view&id\=([0-9]+)/i","news-av-.html","news.php?action=view&id=1"); echo $return; output:news-av-1.html
去除文本中的超链接、邮件地址等信息 $searcharray=array("/http:\/\/[a-z0-9\/\-_+=.~!%@?#%&;:$\()|]+\.(jpg|gif|png|bmp)/i", "/((https?|ftp|gopher|news|telnet|rtsp|mms|callto):\/\/|www\.)([a-z0-9\/\-_+=.~!%@?#%&;:$\()|]+)/i", "/([_a-z0-9-+]+(\.[_a-z0-9-+]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4}))/i" ); $replacearray=array( "", "", "" ); $return=preg_replace($searcharray,$replacearray,'http://www.google.com www@google.com no hyper link.'); echo $return; output:no hyper link.
以上为网络搜集.
学有所长,我也刚学了,也做个,非法邮件地址替换规则: preg_replace("/[^0-9\w@.]/i","",$mailto);便替换为了邮件所支持的a-z,0-9,. ,@,_ 等符号。
|