str_replace() 函數使用一個字串替換字串中的另一些字元。
簡單替換
<?php教程
echo str_replace("world","john","hello world!");
?>
替換資料
<?php
echo str_replace("world","john","hello world!");
?>
利用Regex來替換
文法:stringobj.replace(rgexp, replacetext)
用str.replace("|",",") 只會替換第一個匹配的字元, str.replace(/|/g,",")則可以替換掉全部匹配的字元(g為全域標誌)。
文法
preg_replace(find,replace,string,count)
preg_replace -- 執行Regex的搜尋和替換
說明
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])
在 subject 中搜尋 pattern 模式的匹配項並替換為 replacement。如果指定了 limit,則僅替換 limit 個匹配,如果省略 limit 或者其值為 -1,則所有的匹配項都會被替換。
執行個體
<?php
$string = "april 15, 2003";
$pattern = "/(/w+) (/d+), (/d+)/i";
$replacement = "/${1}1,/$3";
print preg_replace($pattern, $replacement, $string);
/* output
======
april1,2003
*/
?>
替換數個值
<?php
$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 修正符
<?php
preg_replace ("/(<//?)(/w+)([^>]*>)/e",
"'//1'.strtoupper('//2').'//3'",
$html_body);
?>
這將使輸入字串中的所有 html 標記變成大寫
區別preg_replace函數主要用於正則比較方便而str_replace替換字元效率更好,但他們都用於字元替換的函數。