str_replace() 関数は、文字列を使用して文字列内の他の文字を置き換えます。
簡単な交換
echo str_replace("world","john","hello world!");
?>
正規表現を使用して置換します
構文: stringobj.replace(rgexp, replacetext)
str.replace("|",",") を使用すると、最初に一致した文字のみが置換されますが、 str.replace(/|/g,",") は、一致したすべての文字を置換できます (g はグローバル フラグ)。
文法
preg_replace(検索、置換、文字列、カウント)
preg_replace -- 正規表現の検索と置換を実行します
説明
混合 preg_replace (混合パターン、混合置換、混合主語 [, int 制限])
パターンに一致するサブジェクトを検索し、それを置換に置き換えます。 limit が指定されている場合は、limit の一致のみが置き換えられます。limit が省略されている場合、または値が -1 の場合は、すべての一致が置き換えられます。
例
$string = "2003 年 4 月 15 日";
$pattern = "/(/w+) (/d+), (/d+)/i";
$replacement = "/${1}1,/$3";
print preg_replace($pattern, $replacement, $string);/* 出力
======2003年4月1日
*/
?>
複数の値を置き換えます
$patterns = 配列 ("/(19|20)(/d{2})-(/d{1,2})-(/d{1,2})/",
"/^/s*{(/w+)}/s*=/");
$replace = 配列 ("//3///4///1//2", "$//1 =");
print preg_replace ($patterns, $replace, "{startdate} = 1999-5-27");
?>
この例では次のように出力されます:
$startdate = 1999/5/27
例 4. /e 修飾子の使用
preg_replace ("/(]*>)/e",
"'//1'.strtoupper('//2').'//3'",
$html_body);
?>
これにより、入力文字列内のすべての HTML タグが大文字になります
違いは、preg_replace 関数は主に正規表現に使用され、より便利であるのに対し、str_replace は文字の置換に効率的ですが、どちらも文字置換関数に使用されることです。