/*
正则表达式 preg_replace()
*/
$str = array( "如果没有一些http://www.abc.com特殊的<b>替换</b>需5求(<u>比如正则表达式</u>),你应http://www.bcd.net该使用该http://bbs.brophp.org函数替9换 <font color='red'>ereg_replace()</font> 和9 preg_replace()。 ", "如果没有一些http://www.abc.com特殊的<b>替换</b>需5求(<u>比如正则表达式</u>),你应http://www.bcd.net该使用该http://bbs.brophp.org函数替9换 <font color='red'>ereg_replace()</font> 和9 preg_replace()。 ",
);
$reg = array( //所有HTML '/\<[\/\!]*?[^\<\>]+?\>/is', //所有URL //e模式,先执行函数再执行替换,需先将函数变成字符串 '/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/e', //所有数字 '/\d/' );
$rep = array( '', //将匹配的子模式放到字符串中使用 //strtoupper匹配出来的内容转成大写 '"<a href=\'$1://$2.$3.$4\'>".strtoupper("$1://$2.$3.$4")."</a>"', '@' );
//替换有顺序要求,$reg[0]对应$rep[0] $newstr = preg_replace($reg, $rep, $str);
echo '<pre>'; print_r($str)."<br>"; print_r($newstr)."<br>"; echo '</pre>';
|
请发表评论