(PHP 4、PHP 5)
str_replace — 出現する検索文字列をすべて置換文字列に置き換えます
$search
, mixed $replace
, mixed $subject
[, int &$count
)
)
この関数は、出現するすべての search
in subject
を置き換えた文字列または配列を返します。
指定されたreplace
値を使用します。
複雑な置換ルール (正規表現など) が必要ない場合は、preg_replace() の代わりに常にこの関数を使用する必要があります。
パラメータとsearch
and replace
が
配列の場合、str_replace() は各配列から値を取得し、それらを使用して subject
の検索と置換を行います。
replace
has fewer values than search
の値が search
よりも少ない場合、
その後、空の文字列が残りの置換値に使用されます。 replace
があれば
配列であり、 search
が文字列である場合、この置換文字列は次のようになります。
search
or replace
場合は
配列の場合、その要素は最初から最後まで処理されます。
search
replace
search
subject
検索および置換される文字列または配列。干し草の山とも呼ばれます。subject
subject
count
戻り値
変更履歴
バージョン | |
---|---|
5.0.0count
|
|
4.3.3search and replace
search この関数の動作が変更されました。古いバージョンでは、replace と | の両方のパラメーターとして配列を使用する場合にバグが存在しました。
そのため、空の |
4.0.5 |
例 #1 基本的な str_replace() の例
<?php <br>
// 提供するもの: <br>
$bodytag = str_replace("%body%", "黒", "");<br>
<br>
// 提供: Hll Wrld f PHP<br>
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");<br>
$onlyconsonants = str_replace($vowels, "", "PHP の Hello World");<br>
<br>
// 提供: ピザ、ビール、アイスクリームを毎日食べるべきです<br>
$phrase = "果物、野菜、繊維質を毎日食べる必要があります。";<br>
$healthy = array("果物", "野菜", "食物繊維");<br>
$yummy = array("ピザ", "ビール", "アイスクリーム");<br>
<br>
$newphrase = str_replace($healthy, $yummy, $phrase);<br>
<br>
// 提供: 2<br>
$str = str_replace("ll", "", "いいですね、モリーさん!", $count);<br>
エコー $count;<br>
?>
例 #2 str_replace() の潜在的な問題の例
<?php <br>
// 置換の順序<br>
$str = "行 1n 行 2r 行 3rn 行 4n";<br>
$order = array("rn", "n", "r");<br>
$replace = '<br>';<br>
<br>
// rn を最初に処理して、2 回変換されないようにします。<br>
$newstr = str_replace($order, $replace, $str);<br>
<br>
// A が B に置き換えられ、次に B が C に置き換えられるため、F が出力されます...<br>
// 左から右への置換のため、最後に E が F に置き換えられます。<br>
$search = array('A', 'B', 'C', 'D', 'E');<br>
$replace = array('B', 'C', 'D', 'E', 'F');<br>
$subject = 'A';<br>
echo str_replace($search, $replace, $subject);<br>
<br>
// 出力: apearpearle pear<br>
// 上記と同じ理由です<br>
$letters = array('a', 'p');<br>
$fruit = array('リンゴ', '梨');<br>
$text = 'a p';<br>
$output = str_replace($letters, $fruit, $text);<br>
エコー $output;<br>
?>
注: この関数はバイナリセーフです。