Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Funktion str_replace(), die einige Zeichen in einem String ersetzt (Groß-/Kleinschreibung beachten)

PHP-Funktion str_replace(), die einige Zeichen in einem String ersetzt (Groß-/Kleinschreibung beachten)

黄舟
黄舟Original
2017-11-03 11:40:352616Durchsuche

Beispiel

Ersetzen Sie das Zeichen „world“ in der Zeichenfolge „Hallo Welt!“ durch „Peter“:

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

Definition und Verwendung

str_replace()-Funktion ersetzt einige Zeichen in einer Zeichenfolge (Groß-/Kleinschreibung beachten).

Die Funktion muss den folgenden Regeln folgen:

Wenn die gesuchte Zeichenfolge ein Array ist, wird ein Array zurückgegeben.

Wenn die gesuchte Zeichenfolge ein Array ist, wird jedes Element im Array gefunden und ersetzt.

Wenn ein Array gleichzeitig durchsucht und ersetzt werden muss und die Anzahl der zu ersetzenden Elemente geringer ist als die Anzahl der gefundenen Elemente, werden die überschüssigen Elemente durch leere Zeichenfolgen ersetzt.

Wenn Sie ein Array durchsuchen und nur eine Zeichenfolge ersetzen, funktioniert die Ersetzungszeichenfolge für alle gefundenen Werte.

Hinweis: Bei dieser Funktion wird die Groß-/Kleinschreibung beachtet. Bitte verwenden Sie die Funktion str_ireplace(), um eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung durchzuführen.

Hinweis: Diese Funktion ist binärsicher.

Syntax

str_replace(find,replace,string,count)
参数 描述
find 必需。规定要查找的值
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。一个变量,对替换数进行计数。

Technische Details

Rückgabewert: Rückgabe mit Ersatzwertzeichenfolge oder Array.
PHP-Version: 4+
Update-Protokoll
返回值: 返回带有替换值的字符串或数组。
PHP 版本: 4+
更新日志 在 PHP 5.0 中,新增了 count 参数。

在 PHP 4.3.3 之前,该函数的 find 和 replace 参数都为数组时将会遇到麻烦,会引起空的 find 索引在内部指针没有更换到 replace 数组上时被忽略。新的版本不会有这个问题。

自 PHP 4.0.5 起,大多数参数可以是一个数组。
:
In PHP 5.0 wurde der count-Parameter hinzugefügt.

Vor PHP 4.3.3 traten Probleme auf, wenn die Such- und Ersetzungsparameter dieser Funktion beide Arrays waren, was dazu führte, dass der leere Suchindex ignoriert wurde, wenn der interne Zeiger nicht auf dem ersetzt wurde Array ersetzen. Die neue Version wird dieses Problem nicht haben.

Seit PHP 4.0.5 können die meisten Parameter ein Array sein.

更多实例

实例 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全清除 

Das obige ist der detaillierte Inhalt vonPHP-Funktion str_replace(), die einige Zeichen in einem String ersetzt (Groß-/Kleinschreibung beachten). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn