PHP関数 str_replace( ) によるテキスト内容の一括置換
6,752 0
昨日、WordPressテーマ情報を取得するAPIを書いていたとき、style.css 内の英語の内容を置き換えるため、文字列置換に関する str_replace() 関数を使いました。最初は、連続して10個ほどの str_replace() 関数を使ってようやく置き換えました。
その後、ある達人に str_replace() 関数の引数は配列に設定でき、順番に一括置換できると教えてもらいました。そこで試してみたところ、本当に str_replace() 関数1つでできました。以下では、私の経験を紹介します。
str_replace()
ここでは主に str_replace() 関数の4つのケースについて説明します。
置換される値にのみ配列を使用する
例
PHP PHP
<?php
echo str_replace(array('w','m'),'x','www.ikxin.com');
?>
出力: xxx.ikxin.cox
関数は配列内の各文字列を順番に置換し、置換後の文字列を返していることが分かります。
置換値にのみ配列を使用する
例
PHP PHP
<?php
echo str_replace('i',array('w','m'),"www.ikxin.com");
?>
出力: www.ArraykxArrayn.com
この置換は比較的興味深いものです。2番目の引数にのみ配列を使用すると、関数はそれを文字列 Array として扱い、置換されるすべての値を Array に置き換えます。
置換対象の引数にのみ配列を使用する
例
PHP PHP
<?php
echo str_replace('w','n',array('www.ikxin.com','www.baidu.com'));
?>
この文の実行結果は配列を返します。つまり、渡された2つの文字列をそれぞれ置換した結果です。
置換値と置換される値に配列を使用する
例
PHP PHP
<?php
echo str_replace(array("m","w"),array("h","n"),"www.ikxin.com");
?>
出力: nnn.ikxin.coh
最初の2つの引数に配列を使用すると、関数は配列の各要素の文字列を置換します。つまり、置換される値の1番目の項目は置換値の1番目の項目に置き換えられ、以下同様に処理されます。

コメント
(0)まだコメントはありません