Maison  >  Article  >  développement back-end  >  Fonction PHP str_replace() qui remplace certains caractères dans une chaîne (sensible à la casse)

Fonction PHP str_replace() qui remplace certains caractères dans une chaîne (sensible à la casse)

黄舟
黄舟original
2017-11-03 11:40:352685parcourir

Exemple

Remplacez le caractère "world" dans la chaîne "Hello world!" par "Peter" :

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

Définition et utilisation

La fonction str_replace() remplace certains caractères dans une chaîne (sensible à la casse).

La fonction doit suivre les règles suivantes :

Si la chaîne recherchée est un tableau, alors elle renverra un tableau.

Si la chaîne recherchée est un tableau, elle trouvera et remplacera chaque élément du tableau.

Si un tableau doit être recherché et remplacé en même temps et que les éléments à remplacer sont inférieurs au nombre d'éléments trouvés, les éléments en excès seront remplacés par des chaînes vides.

Si vous recherchez un tableau et remplacez une seule chaîne, la chaîne de remplacement s'appliquera à toutes les valeurs trouvées.

Remarque : Cette fonction est sensible à la casse. Veuillez utiliser la fonction str_ireplace() pour effectuer une recherche insensible à la casse.

Remarque : Cette fonction est sécurisée pour les binaires.

Syntaxe

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

Détails techniques

Dans PHP 5.0, le paramètre count est ajouté.

Avant PHP 4.3.3, des problèmes survenaient lorsque les paramètres find et replace de cette fonction étaient tous deux des tableaux, ce qui faisait que l'index de recherche vide était ignoré lorsque le pointeur interne n'était pas remplacé sur le remplacer le tableau. La nouvelle version n'aura pas ce problème.

Depuis PHP 4.0.5, la plupart des paramètres peuvent être un tableau.
Valeur de retour : Retour avec chaîne de valeur de remplacement ou un tableau.
Version PHP : 4+
Journal de mise à jour
返回值: 返回带有替换值的字符串或数组。
PHP 版本: 4+
更新日志 在 PHP 5.0 中,新增了 count 参数。

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

自 PHP 4.0.5 起,大多数参数可以是一个数组。
 :

更多实例

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn