程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php str_replace與preg_replace用法區別

php str_replace與preg_replace用法區別

編輯:關於PHP編程

 

str_replace() 函數使用一個字符串替換字符串中的另一些字符。

簡單替換

echo str_replace("world","john","hello world!");
?>

利用正則表達式來替換

語法:stringobj.replace(rgexp, replacetext)
用str.replace("|",",") 只會替換第一個匹配的字符, str.replace(/|/g,",")則可以替換掉全部匹配的字符(g為全局標志)。


語法
preg_replace(find,replace,string,count)

preg_replace -- 執行正則表達式的搜索和替換
說明
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])


在 subject 中搜索 pattern 模式的匹配項並替換為 replacement。如果指定了 limit,則僅替換 limit 個匹配,如果省略 limit 或者其值為 -1,則所有的匹配項都會被替換。

實例

$string = "april 15, 2003";
$pattern = "/(/w+) (/d+), (/d+)/i";
$replacement = "/${1}1,/$3";
print preg_replace($pattern, $replacement, $string);

/* output
   ======

april1,2003

*/
?>

替換數個值

$patterns = array ("/(19|20)(/d{2})-(/d{1,2})-(/d{1,2})/",
                   "/^/s*{(/w+)}/s*=/");
$replace = array ("//3///4///1//2", "$//1 =");
print preg_replace ($patterns, $replace, "{startdate} = 1999-5-27");
?>

本例將輸出:

$startdate = 5/27/1999
 


例子 4. 使用 /e 修正符

preg_replace ("/(]*>)/e",
              "'//1'.strtoupper('//2').'//3'",
              $html_body);
?>

這將使輸入字符串中的所有 html 標記變成大寫
 

區別preg_replace函數主要用於正則比較方便而str_replace替換字符效率更好,但他們都用於字符替換的函數。


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