9.3.7 字符串的替換(preg_replace)2
1.php
<?php
header("Content-Type:text/html;charset=utf-8");
/* $reg = '/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/';
$reg = '/\w+([+-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* /i';
* 分割习寸、匹配鳞青、查找呻袭、替換
*
* 1. 字符串處理函數(shù) (處理快翁垂, 但有一些做不到)
*
* 2. 正則表達(dá)式函數(shù) (功能強(qiáng)大矛物,但效率要低)
*
*
* 注意:如果可以直接使用字符串處理函數(shù)處理的字符串,就不要使用正則處理
*
*
*
* 匹配查找:
*
* strstr strpos substr
*
*
* 正則匹配查找
*
* preg_match() preg_match_all() preg_grep();
*
*
* 分割:
* explode() implode() -- join()
*
*
*正則表達(dá)式
preg_split()
*
*
*
* 替換
* 字符串處理 str_replace()
*
*
* 正則表達(dá)式 preg_replace()
*/
$str ="如果沒有一些特殊的<b>替換</b>需求(<u>比如正則表達(dá)式</u>)怔球,你應(yīng)該使用該函數(shù)替換 <font color='red'>ereg_replace()</font> 和 preg_replace()倔矾。 ";
$html = "/\<[\/\!]*?[^\<\>]*?\>/is";
$newstr = preg_replace($html, "", $str);
echo $str."<br>";
echo $newstr."<br>";
2.php
<?php
header("Content-Type:text/html;charset=utf-8");
/* $reg = '/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/';
$reg = '/\w+([+-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* /i';
* 分割、匹配毙驯、查找倒堕、替換
*
* 1. 字符串處理函數(shù) (處理快, 但有一些做不到)
*
* 2. 正則表達(dá)式函數(shù) (功能強(qiáng)大爆价,但效率要低)
*
*
* 注意:如果可以直接使用字符串處理函數(shù)處理的字符串垦巴,就不要使用正則處理
*
*
*
* 匹配查找:
*
* strstr strpos substr
*
*
* 正則匹配查找
*
* preg_match() preg_match_all() preg_grep();
*
*
* 分割:
* explode() implode() -- join()
*
*
*正則表達(dá)式
preg_split()
*
*
*
* 替換
* 字符串處理 str_replace()
*
*
* 正則表達(dá)式 preg_replace()
*/
$str ="如果沒有一些特殊的<b>替換</b>需求(<u>比如正則表達(dá)式</u>),你應(yīng)該使用該函數(shù)替換 <font color='red'>ereg_replace()</font> 和 preg_replace()允坚。 ";
$html = "/\<[\/\!]*?[^\<\>]*?\>/is";
$newstr = preg_replace($html, "", $str, 4);
echo $str."<br>";
echo $newstr."<br>";
test.php
<?php
header("Content-Type:text/html;charset=utf-8");
/* $reg = '/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/';
$reg = '/\w+([+-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* /i';
* 分割魂那、匹配、查找稠项、替換
*
* 1. 字符串處理函數(shù) (處理快涯雅, 但有一些做不到)
*
* 2. 正則表達(dá)式函數(shù) (功能強(qiáng)大,但效率要低)
*
*
* 注意:如果可以直接使用字符串處理函數(shù)處理的字符串展运,就不要使用正則處理
*
*
*
* 匹配查找:
*
* strstr strpos substr
*
*
* 正則匹配查找
*
* preg_match() preg_match_all() preg_grep();
*
*
* 分割:
* explode() implode() -- join()
*
*
*正則表達(dá)式
preg_split()
*
*
*
* 替換
* 字符串處理 str_replace()
*
*
* 正則表達(dá)式 preg_replace()
*
*
* strtoupper();
*/
$str = array(
"如果沒有一些http://www.baidu.com特殊的<b>替換</b>需5求(<u>比如正則表達(dá)式</u>)活逆,你應(yīng)http://www.lampbrother.net該使用該http://bbs.brophp.org函數(shù)替9換 <font color='red'>ereg_replace()</font> 和9 preg_replace()精刷。 ",
"如果沒有一些http://www.baidu.com特殊的<b>替換</b>需5求(<u>比如正則表達(dá)式</u>),你應(yīng)http://www.lampbrother.net該使用該http://bbs.brophp.org函數(shù)替9換 <font color='red'>ereg_replace()</font> 和9 preg_replace()蔗候。 ",
"如果沒有一些http://www.baidu.com特殊的<b>替換</b>需5求(<u>比如正則表達(dá)式</u>)怒允,你應(yīng)http://www.lampbrother.net該使用該http://bbs.brophp.org函數(shù)替9換 <font color='red'>ereg_replace()</font> 和9 preg_replace()。 ",
"如果沒有一些http://www.baidu.com特殊的<b>替換</b>需5求(<u>比如正則表達(dá)式</u>)锈遥,你應(yīng)http://www.lampbrother.net該使用該http://bbs.brophp.org函數(shù)替9換 <font color='red'>ereg_replace()</font> 和9 preg_replace()纫事。 "
);
$reg = array(
'/\<[\/\!]*?[^\<\>]+?\>/is',
'/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/e',
'/\d/'
);
$rep = array(
'',
'"<a href=\'$1://$2.$3.$4\'>".strtoupper("$1://$2.$3.$4")."</a>"',
'@'
);
$newstr = preg_replace($reg, $rep, $str);
echo '<pre>';
print_r($str)."<br>";
print_r($newstr)."<br>";
echo '</pre>';