Maison  >  Article  >  développement back-end  >  Méthode PHP pour implémenter str_replace pour remplacer les heures spécifiées

Méthode PHP pour implémenter str_replace pour remplacer les heures spécifiées

墨辰丷
墨辰丷original
2018-05-22 16:21:391829parcourir

Cet article présente principalement la méthode de remplacement d'un nombre de fois spécifié par php str_replace, qui a une bonne valeur de référence. Jetons un coup d'œil avec l'éditeur ci-dessous

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 l'aiguille. Un tableau peut spécifier plusieurs cibles.

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

subject Le tableau ou la chaîne à 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() effectuera le remplacement du mappage sur le sujet.

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 chaînes. Mais toutes les valeurs correspondant à la recherche seront remplacées 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

<?php 
$str = &#39;user_order_list&#39;; 
echo str_replace(&#39;_&#39;, &#39;/&#39;, $str); // user/order/list 
?>

La méthode de remplacement d'un nombre de fois spécifié peut être implémentée en utilisant la méthode régulière 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 ) 
?>

Recommandations associées :

javascript replace() Utilisation du paramètre lorsque le deuxième paramètre est une fonction (explication détaillée pour tout le monde)

pushState et replaceState une explication détaillée des étapes d'utilisation

str_replace Résumé des définitions et de l'utilisation des fonctions

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