Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Methode zur Implementierung von str_replace zum Ersetzen angegebener Zeiten

PHP-Methode zur Implementierung von str_replace zum Ersetzen angegebener Zeiten

墨辰丷
墨辰丷Original
2018-05-22 16:21:391830Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Ersetzen einer bestimmten Anzahl von Malen durch PHP str_replace vorgestellt, das einen guten Referenzwert hat. Schauen wir es uns mit dem folgenden Editor an

PHP str_replace-Methode, ersetzen Sie die Zeichenfolge

im folgenden Format:

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

Suche Der zu findende Zielwert, der die Nadel ist. Ein Array kann mehrere Ziele angeben.

Suche ersetzenErsatzwert. Ein Array kann verwendet werden, um mehrere Ersetzungen anzugeben.

Betreff Ein Array oder eine Zeichenfolge zum Durchführen der Ersetzung. Das ist Heuhaufen. Wenn das Subjekt ein Array ist, durchläuft die Ersetzungsoperation das gesamte Subjekt und der Rückgabewert ist ebenfalls ein Array.

count Wenn angegeben, wird der Wert auf die Anzahl der Ersetzungen gesetzt. Das heißt, wie viele Ersetzungen insgesamt stattgefunden haben.

Hinweis:

Wenn Suchen und Ersetzen Arrays sind, führt str_replace() eine Zuordnungsersetzung für den Betreff durch.

Wenn die Anzahl der Ersetzungswerte geringer ist als die Anzahl der Suchwerte, werden leere Zeichenfolgen für zusätzliche Ersetzungen verwendet.

Wenn die Suche ein Array und das Ersetzen eine Zeichenfolge ist, wird beim Ersetzen jedes Elements in der Suche immer diese Zeichenfolge verwendet.

str_replace-Ersetzungsmethode unterscheidet zwischen Groß- und Kleinschreibung.

Beispiel:

<?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次 
?>

Die Verwendung von str_replace zum Ersetzen von Zeichenfolgen ist bequemer, aber alles Die mit der Suche übereinstimmenden Werte werden durch den Ersetzungswert ersetzt. Wenn Sie eine bestimmte Anzahl von Malen ersetzen möchten, kann diese Methode nicht implementiert werden.

Zum Beispiel: user_order_list wird ersetzt durch user/order_list

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

Die Methode zum Ersetzen einer bestimmten Anzahl von Malen kann mit der regulären preg_replace-Methode implementiert werden.

<?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); 
} 
?>

Beispiel:

<?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 ) 
?>

Verwandte Empfehlungen:

javascript replace() Parameterverwendung, wenn der zweite Parameter eine Funktion ist (ausführliche Erklärung für alle)

pushState und replaceGeben Sie eine detaillierte Erläuterung der Verwendungsschritte an

str_replace Funktionsdefinition und Zusammenfassung der Nutzung

Das obige ist der detaillierte Inhalt vonPHP-Methode zur Implementierung von str_replace zum Ersetzen angegebener Zeiten. 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