ホームページ  >  記事  >  バックエンド開発  >  文字列内の一部の文字を置換する PHP 関数 str_replace() (大文字と小文字を区別)

文字列内の一部の文字を置換する PHP 関数 str_replace() (大文字と小文字を区別)

黄舟
黄舟オリジナル
2017-11-03 11:40:352672ブラウズ

文字列「Hello world!」の文字「world」を「Peter」に置き換えます:

<?php
echo str_replace("world","Peter","Hello world!");
?>

定義と使用法

str_replace() 関数は文字列内の一部の文字を置き換えます (大文字と小文字が区別されます)。

関数は次の規則に従う必要があります:

検索された文字列が配列の場合、配列を返します。

検索された文字列が配列の場合、配列内のすべての要素を検索して置換します。

配列の検索と置換を同時に行う必要があり、置換対象の要素が見つかった要素の数より少ない場合、超過した要素は空の文字列に置換されます。

配列を検索して文字列を置換するだけの場合、置換文字列は見つかったすべての値に対して機能します。

注: この関数では大文字と小文字が区別されます。大文字と小文字を区別しない検索を実行するには、

str_ireplace() 関数を使用してください。

注: この関数はバイナリセーフです。

構文

str_replace(find,replace,string,count)

パラメータ説明find必須。検索する値を指定しますreplace必須。 find の値を置き換える値を指定します。 文字列は必須です。検索する文字列を指定します。 カウントはオプションです。置換の数をカウントする変数。
技術的な詳細

戻り値: 置換値を含む文字列または配列を返します。 PHPバージョン: 4+ PHP 5.0では、countパラメータが追加されました。

更多实例

实例 1

使用带有数组和 count 变量的 str_replace() 函数:

<?php
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "Replacements: $i";
?>

实例 2

使用带有需要替换的元素少于查找到的元素的 str_replace() 函数:

<?php
$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr));
?>

本函数将字符串 str 代入 haystack 字符串中,将所有的 needle 置换成 str。mlevine@adtraq.com (11-Apr-1999) 指出在 PHP 3.0.7 版,本函数有些 bug,而 nadeem@bleh.org (05-Jun-1999) 补充在 PHP 3.0.8 版本函数就回复正常了。 
使用范例 
下例将 %body% 以 black 取代 

< php 
$bodytag = str_replace("%body%", "black", "<body text=%body%>"); 
echo $bodytag; 
>

格式: 

[@str_replace("要替换的旧内容", "要取代原内容的新字符", $被替换内容的变量名)] 
[@str_replace(array(&#39;旧1&#39;,&#39;旧2&#39;,&#39;旧3&#39;), array(&#39;新1&#39;,&#39;新2&#39;,&#39;新3&#39;), $被替换内容的变量名)] 
[@str_replace(array(&#39;旧1&#39;,&#39;旧2&#39;,&#39;旧3&#39;), &#39;新内容&#39;, $被替换内容的变量名)]

实例: 
多对一替换:想把内容字段里所有的e388a4556c0f65e1904146cc1a846bee94b3e26ee717c64999d7867364b1b4a3标签清除掉,替换成空 

[@str_replace(array(&#39;<p>&#39;,&#39;</p>&#39;), &#39;&#39;, $Content)]

一对一替换:想把内容字段里所有的0c6dc11e160d3b678d68754cc175188a标签换成e388a4556c0f65e1904146cc1a846bee 

[@str_replace(&#39;<br>&#39;, &#39;<p>&#39;, $Content)]

多对多替换:想把内容字段里的0c6dc11e160d3b678d68754cc175188a换成df250b2156c434f3390392d09b1c9563, 同时e388a4556c0f65e1904146cc1a846bee换f32b48428a809b51f04d3228cdf461fa,把94b3e26ee717c64999d7867364b1b4a3全清除 

更新ログ:
PHP 4.3.3 より前では、検索パラメーターと置換パラメーターの両方が配列である場合、この関数は問題が発生し、内部ポインターが置換配列で置換されない場合に空の検索インデックスが無視されてしまいました。新しいバージョンではこの問題は発生しません。

PHP 4.0.5 以降、ほとんどのパラメーターは配列にすることができます。

以上が文字列内の一部の文字を置換する PHP 関数 str_replace() (大文字と小文字を区別)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。