php の文字列を置換するには str_replace 関数を使用します。この関数は正規表現も使用できます。次のエディタでは、文字列内の一部の文字を置換する例、または最初に出現する文字を置換する例を紹介します。
ここで、文字列 A と文字列 B という要件があります。文字列 B には文字列 A が含まれています。文字列 A を使用して、文字列 B 内の A を他の文字列に置き換えるか、削除します。
PHP 関数を使用すると、str_ireplace() と str_replace() でこれを行うことができます。
1. str_ireplace(find,replace,string,count) 関数は、文字列を使用して文字列内の他の文字を置換します (この関数は大文字と小文字を区別しません)。
例:
コードは次のとおりです |
コードをコピー |
header("Content-Type: text/html; charset=utf-8"); // 中国語の文字化けを防ぐ
$str_1 = '郭gボウルwおたまp洗面器p';
$str_2 = '?パン?';
$str_3 = 'PHP は文字列内の一部の文字列を置き換えます - Guo G ボウル W ひしゃく P 盆地 P';
$str = str_ireplace($str_1,$str_2,$str_3);
エコー $str;
// 出力: PHP は文字列 -?Pan 内の一部の文字列を置き換えます
?>
2. str_replace(find,replace,string,count) 関数は、文字列を使用して文字列内の他の文字を置き換えます (この関数は大文字と小文字を区別します)。
|
(パラメータと説明はstr_ireplace()関数と同じです)
コードは次のとおりです
コードをコピー
|
header("Content-Type: text/html; charset=utf-8"); // 中国語の文字化けを防ぐ
$str_1_s = '郭gボウルwおたまp洗面器p';
$str_1_b = '郭Gボウルwおたまp洗面器P';
$str_2 = '?パン?';
$str_3 = 'PHP は文字列内の一部の文字列を置き換えます - Guo G ボウル W ひしゃく P 盆地 P';
$str_s = str_replace($str_1_s,$str_2,$str_3).'
';
$str_b = str_replace($str_1_b,$str_2,$str_3);
echo $str_s; // 見つからないため、元の文字列を出力します
echo $str_b; // 正しく置換されました
// $str_s 出力: PHP は文字列内の一部の文字列を置き換えます - Guo G ボウル W レードル P 洗面器 P
// $str_b 出力: PHP は文字列 -?Pan 内の一部の文字列を置き換えます
?>
上記は置換されているはずですが、初めて登場する文字だけを置換したい場合はどうすればよいですか
多くの人は、str_replace() 関数の使用を考えて、この関数の使用が私たちが望むものであるかどうかを確認します
str_replace( 混合 $search , 混合 $replace , 混合 $subject [, int &$count ] )
最後のパラメータは置換の総数を返すものであり、置換回数を指定するものではないため、str_replace() を使用するのは無理です。
preg_replace()は実装できますが、正規表現が使われているのが残念
| コードは次のとおりです
コードをコピー
$str=preg_replace('/abc/','xyz',$str,1);
エコー $str;
正規表現を使用しない方法はありますか?はい、次のようにすることができます
コードは次のとおりです |
コードをコピー |
$replace='xyz';
if(($position=strpos($str,$replace))!==false){
$leng=strlen($replace);
$str=substr_replace($str,'xyz',$position,$leng);
}
エコー $str;
|
http://www.bkjia.com/PHPjc/632792.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632792.html技術記事 PHP で文字列を置換するときは、str_replace 関数を使用します。この関数は正規表現も使用できます。次のエディタでは、文字列内の一部の文字を置換する方法、または最初の文字を置換する方法を紹介します。