程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP字符串正則替換函數preg_replace

PHP字符串正則替換函數preg_replace

編輯:關於PHP編程

語法: mixed preg_replace(mixed pattern, mixed replacement, mixed subject);

返回值: 混合類型資料

函數種類: 資料處理

內容說明: 本函數以 pattern 的規則來解析比對字符串 subject,欲取而代之的字符串為參數 replacement。返回值為混合類型資料,為取代後的字符串結果。

1. preg_replace()

$msg = preg_replace("/<style>.+</style>/is", "", $msg); -----刪除<style></style>和中間的部分
$msg = preg_replace("/<[^>]+>/", "", $msg); -----是刪除<>和中間的內容

i (PCRE_CASELESS)
如果設定此修正符,模式中的字符將同時匹配大小寫字母。
s (PCRE_DOTALL)
如果設定了此修正符,模式中的圓點元字符(.)匹配所有的字符,包括換行符。沒有此設定的話,則不包括換行符。這和 Perl 的 /s 修正符是等效的。排除字符類例如 [^a] 總是匹配換行符的,無論是否設定了此修正符。


2. ereg()與eregi()

注: preg_match() 函數通常是比 ereg() 更快的替代方案

eregi("<body([^>]+)>(.+)</body>",$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()與大小寫無關

 

<?php教程
//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."<br>";

//2.對字符串的逆向引用
//方法一
         $pat         = "/(w+)-(w+)-(w+)-(w+)-(w+)-(w+)-(d+)/i";
         $str         =preg_replace($pat,"$1",$str);
         echo $str."<br>";

//注意:如果是下面這種形式你會發現匹配的是:zi- 所以可以這樣認為在有次數的{6}的情況下,他($1)匹配的是最後一次
         $pat         = "/((w+)-){6}(d+)/i";
         $str         =preg_replace($pat,"$1",$str);
         echo $str."<br>";


//方法二
         $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."<br>";

//注意:當正則寫成$pat= "/((w+)-){6}(d+)/i";時和上面的情況一樣

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved