str_replace (PHP 3 >= 3.0.6, PHP 4, PHP 5)
str_replace --
文字列 subject 中の文字列 search を全て文字列replaceに置換する
説明 mixed
str_replace ( mixed search, mixed replace, mixed subject [, int &count] )
この関数は、subject の中の
search を全て
replace に置換します。(正規表現んような)技巧的な置換ルールを
必要としない場合、ereg_replace() または
preg_replace() の替わりにこの関数を常用するべきです。
PHP 4.0.5以降、str_replace() の全てのパラメータを
配列(array )とすることが可能です。
警告
PHP 4.3.3より前のバージョンには、
search と replace の
両方に配列を指定した場合に発生する、
空のsearch 添字をスキップする際に
replace 配列上の内部ポインタを進めないという
バグがあります。
このバグは、PHP 4.3.3で修正されており、
このバグに基づくスクリプトは、空の検索値をこの関数をコールする前に
削除しておく必要があります。
subject が配列の場合、
subject の各エントリについて検索と置換が行
われ、返り値は同様に配列となります。
search と replace
が配列の場合、str_replace() は各配列から値を一
つとりだし、subject 上で検索と置換を行うた
めに使用します。replace の値が
search よりも少ない場合、置換される値の残
りの部分には空の文字列が使用されます。
search が配列で
replace が文字列の場合、この置換文字列が
search の各値について使用されます。しかし、
逆は意味がありません。
例 1. str_replace() の例
<?php // Provides: <body text='black'> $bodytag = str_replace ( "%body%" , "black" , "<body text='%body%'>" ); // Provides: Hll Wrld f PHP $vowels = array( "a" , "e" , "i" , "o" , "u" , "A" , "E" , "I" , "O" , "U" ); $onlyconsonants = str_replace ( $vowels , "" , "Hello World of PHP" ); // Provides: You should eat pizza, beer, and ice cream every day $phrase = "You should eat fruits, vegetables, and fiber every day." ; $healthy = array( "fruits" , "vegetables" , "fiber" ); $yummy = array( "pizza" , "beer" , "ice cream" ); $newphrase = str_replace ( $healthy , $yummy , $phrase ); // Use of the count parameter is available as of PHP 5.0.0 $str = str_replace ( "ll" , "" , "good golly miss molly!" , $count ); echo $count ; // 2 ?>
注意: この関数はバイナリデータに対応しています。
注意:
PHP 5.0.0以降、一致および置換された対象文字列
(search )の数が参照渡しされた
count に返されます。
PHP 5.0.0より前のバージョンでは、このパラメータは利用できません。
str_ireplace() ,
substr_replace() ,
ereg_replace() ,
preg_replace() ,
strtr()
も参照ください。