Maison  >  Article  >  développement back-end  >  Explication de la méthode php str_replace pour remplacer les heures spécifiées

Explication de la méthode php str_replace pour remplacer les heures spécifiées

jacklove
jackloveoriginal
2018-06-09 10:48:271774parcourir

méthode php str_replace, remplacez la chaîne

au format suivant :

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

recherche La valeur cible à trouver, qui est une aiguille. Un tableau peut spécifier plusieurs cibles.

replace La valeur de remplacement de la recherche. Un tableau peut être utilisé pour spécifier plusieurs remplacements.

subject Tableau ou chaîne pour effectuer le remplacement. C'est une botte de foin. Si le sujet est un tableau, l'opération de remplacement traversera tout le sujet et la valeur de retour sera également un tableau.

count Si spécifié, sa valeur sera définie sur le nombre de fois où le remplacement a eu lieu. C'est-à-dire combien de remplacements ont eu lieu au total.

Remarque :

Si la recherche et le remplacement sont des tableaux, alors str_replace() fera les deux sur le sujet Mapping remplacement.

Si le nombre de valeurs de remplacement est inférieur au nombre de valeurs de recherche, des chaînes vides seront utilisées pour des remplacements supplémentaires.

Si search est un tableau et replace est une chaîne, alors le remplacement de chaque élément dans la recherche utilise toujours cette chaîne.

La méthode de remplacement str_replace est sensible à la casse.

Exemple :

<?php
$str = &#39;abcdefgh&#39;;
echo str_replace(&#39;abc&#39;, &#39;123&#39;, $str); // 123defgh
$str = &#39;123456&#39;;
$search = array(1, 2, 3, 4, 5, 6);
$replace = array(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;f&#39;, &#39;g&#39;);
echo str_replace($search, $replace, $str); // abcdefg
$arr = array(&#39;abc&#39;,&#39;bac&#39;,&#39;cba&#39;);
$result = str_replace(&#39;b&#39;, &#39;B&#39;, $arr, $count);
print_r($result); // Array ( [0] => aBc [1] => Bac [2] => cBa )
echo $count;      // 3 共替换了3次
?>

Il est plus pratique d'utiliser str_replace pour remplacer des chaînes, mais toutes les valeurs ​La recherche correspondante sera remplacée par la valeur de remplacement. Si vous souhaitez remplacer un nombre de fois spécifié, cette méthode ne peut pas être implémentée.

Par exemple : user_order_list est remplacé par user/order_list

862320a07e122d7c1dc458a27bae16d3

Pour remplacer un nombre de fois spécifié, vous pouvez utiliser la méthode habituelle preg_replace.

<?php
/**
 * 对字符串执行指定次数替换
 * @param  Mixed $search   查找目标值
 * @param  Mixed $replace  替换值
 * @param  Mixed $subject  执行替换的字符串/数组
 * @param  Int   $limit    允许替换的次数,默认为-1,不限次数
 * @return Mixed
 */
function str_replace_limit($search, $replace, $subject, $limit=-1){
    if(is_array($search)){
        foreach($search as $k=>$v){
            $search[$k] = &#39;`&#39;. preg_quote($search[$k], &#39;`&#39;). &#39;`&#39;;
        }
    }else{
        $search = &#39;`&#39;. preg_quote($search, &#39;`&#39;). &#39;`&#39;;
    }
    return preg_replace($search, $replace, $subject, $limit);
}
?>

Exemple :

<?php
$str = &#39;user_order_list&#39;;
echo str_replace_limit(&#39;_&#39;, &#39;/&#39;, $str, 1); // user/order_list
$arr = array(&#39;abbc&#39;,&#39;bbac&#39;,&#39;cbba&#39;);
$result = str_replace_limit(&#39;b&#39;, &#39;B&#39;, $arr, 1);
print_r($result); // Array ( [0] => aBbc [1] => Bbac [2] => cBba )
?>

Cet article explique la méthode php str_replace pour remplacer un nombre de fois spécifié. Pour plus de contenu connexe, veuillez faire attention au chinois php. site web.

Recommandations associées :

À propos de header, headers_sent, headers_list, header_remove Mode d'emploi

L'interrogation de mysql via PDO renvoie le champ entier La solution pour changer le type en String

Utilisez php pour obtenir le pays, la province, la ville et la classe de données environnante en fonction des coordonnées géographiques

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