誰でも私に違いの簡単な概要を教えてもらえますか?
私の考えでは、彼らは両方とも同じことをしますか?
ありがとう
str_replace
は、特定の文字列を置換します。たとえば、「foo」は「foo」のみに一致して置換します。 preg_replace
は正規表現の照合を行います。たとえば、「/ f。{2} /」は「foo」と照合して置き換えますが、「fey」、「fir」、「fox」、「f12」なども照合します。
[編集]
自分で見て:
$string = "foo fighters";
$str_replace = str_replace('foo','bar',$string);
$preg_replace = preg_replace('/f.{2}/','bar',$string);
echo 'str_replace: ' . $str_replace . ', preg_replace: ' . $preg_replace;
出力は次のとおりです。
str_replace:バーファイター、preg_replace:バーバーター
:)
str_replace
は、固定文字列を別の固定文字列に置き換えるだけで、はるかに高速になります。
正規表現関数を使用すると、 正規表現 と呼ばれるnon-fixedパターンを検索して置き換えることができます。正規表現には多くの「フレーバー」があり、それらはほとんど似ていますが、詳細は異なります。ここで話しているのはPerl互換の正規表現( [〜#〜] pcre [〜#〜] )です。
同じように見える場合は、str_replace
を使用する必要があります。
str_replace
は純粋なテキストの出現を検索し、preg_replace
はパターンを検索します。