[PHP教學]preg_replace() 正規表示式取代字串

preg_replace ( $pattern , $replacement , $subject , $limit = -1 , $count )
搜尋 $subject 的內容並找出 $pattern 的部分,用 $replacement 取代。

搜尋合乎規則的字串並取代他們成另一個字串. 如果指定了次數,他只會取他您指定的次數後就停止取代。
如果次數被省略或者值為-1, 函式則會全部取代。
<?php
$OriginalString="This is my home.";
echo preg_replace("/home/",'house',$OriginalString).'<br>';
?>
秀出的結果
This is my house.

以下範例說明
$value = preg_replace("/[\n\r\t]/",'',$value);        
濾掉 \n\r\t

$value = preg_replace("/&#([0-9]{5});/", '',$value);
濾掉這種 &#54342; 頭為 &#+中間5個數字+尾巴; 的字串

$value = preg_replace("/^&#([0-9]{5});/", '',$value);
濾掉這種開頭為 &#54342; 開頭為 &#+中間5個數字+尾巴; 的字串

$value = preg_replace("/&([0-9]{5});/", '',$value);
濾掉這種 &54342; 頭為 &+中間5個數字+尾巴; 的字串

$body = preg_replace("/\<style(.*?)style\>/",'',$body);
濾掉 <style ..... /style>
多條件範例
$value = '中"國&#12345;abc&#6754;d&ASBVF&12345;SSS[b]aa[/b]imgurl=';

$value = preg_replace("/[\"]|(\&\#([0-9]{5})\;)|(\&\#([0-9]{4})\;)|(\&([0-9]{5})\;)|(\[b\])|(\[\/b\])|([imgurl=])/", '',$value);
結果: 中國abcd&ASBVFSSSaa

$value = preg_replace("/(\&\#([0-9]{5})\;)|(\&\#([0-9]{4})\;)|(\&([0-9]{5})\;)|(\[b\])|(\[\/b\])/", '',$value);
結果: 中"國abcd&ASBVFSSSaaimgurl=

$value = preg_replace("/(\&\#([0-9]{4})\;)|(\&([0-9]{5})\;)|(\[b\])|(\[\/b\])/", '',$value);
結果: 中"國&#12345;abcd&ASBVFSSSaaimgurl=

$value = preg_replace("/(\&([0-9]{5})\;)|(\[b\])|(\[\/b\])/", '',$value);
結果: 中"國&#12345;abc&#6754;d&ASBVFSSSaaimgurl=

$value = preg_replace("/(\&([0-9]{5})\;)|(\[b\])/", '',$value);
結果: 中"國&#12345;abc&#6754;d&ASBVFSSSaa[/b]imgurl=


 

0 個評論

要回覆文章請先登入註冊