文法: mixed preg_replace(mixed pattern, mixed replacement, mixed subject);
傳回值: 混合類型資料
函數種類: 資料處理
內容說明: 本函數以 pattern 的規則來解析比對字串 subject,欲取而代之的字串為參數 replacement。傳回值為混合類型資料,為取代後的字串結果。
1. preg_replace()
$msg = preg_replace("//is", "", $msg); -----刪除和中間的部分
$msg = preg_replace("/<[^>]+>/", "", $msg); -----是刪除<>和中間的內容
i (PCRE_CASELESS)
如果設定此修正符,模式中的字元將同時匹配大小寫字母。
s (PCRE_DOTALL)
如果設定了此修正符,模式中的圓點元字元(.)匹配所有的字元,包括分行符號。沒有此設定的話,則不包括分行符號。這和 Perl 的 /s 修正符是等效的。排除字元類例如 [^a] 總是匹配分行符號的,無論是否設定了此修正符。
2. ereg()與eregi()
註: preg_match() 函數通常是比 ereg() 更快的替代方案
eregi("]+)>(.+)",$data,$b)----察看$data中是否有body標籤。如果有,把參數賦值$b[0],中間部分賦值$b[1]。
bool ereg ( string pattern, string string [, array regs] )
int eregi ( string pattern, string string, array [regs] )
eregi()和 ereg() 類似,用法也相同。不同之處在於ereg()有區分大小寫,eregi()與大小寫無關
//preg_replace()和ereg_replace()函數的使用的比較
// -------preg_replace()--------------------------
//1.進行字串的尋找的替換
$str = "daoyu shi ge hao hai zi 5555";
$pattern = "/s/"; //如果將變數定義為$pattern_1會出錯
$str = preg_replace($pattern,'-',$str);
echo $str."
";
//2.對字串的逆向引用
//方法一
$pat = "/(w+)-(w+)-(w+)-(w+)-(w+)-(w+)-(d+)/i";
$str =preg_replace($pat,"$1",$str);
echo $str."
";
//注意:如果是下面這種形式你會發現匹配的是:zi- 所以可以這樣認為在有次數的{6}的情況下,他($1)匹配的是最後一次
$pat = "/((w+)-){6}(d+)/i";
$str =preg_replace($pat,"$1",$str);
echo $str."
";
//方法二
$str = "daoyu-shi-ge-hao-hai-zi-5555";
$pat = "/(w+)-(w+)-(w+)-(w+)-(w+)-(w+)-(d+)/i";
$str =preg_replace($pat,"1",$str);
echo $str."
";
//注意:當正則寫成$pat= "/((w+)-){6}(d+)/i";時和上面的情況一樣
http://www.bkjia.com/PHPjc/632276.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632276.htmlTechArticle文法: mixed preg_replace(mixed pattern, mixed replacement, mixed subject); 傳回值: 混合類型資料 函數種類: 資料處理 內容說明: 本函數以 pattern 的規則來解...