PHP字串正則替換函數preg_replace_PHP教程

來源:互聯網
上載者:User
文法: 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 的規則來解...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.