Im vorherigen Artikel haben wir eine Methode zum Ersetzen von Zeichenfolgen vorgestellt, mit der eine bestimmte Teilzeichenfolge unter Berücksichtigung der Groß- und Kleinschreibung durch andere Werte ersetzt werden kann. Wenn Sie interessiert sind, können Sie auf den Link klicken, um zu überprüfen → „So ersetzen Sie“. ein gegebener Teilstring mit PHP * (Groß-/Kleinschreibung beachten) 》. Dieses Mal stellen wir Ihnen eine andere Methode zum Ersetzen eines bestimmten Teilstrings in einem String vor. Sie können bei Bedarf darauf zurückgreifen. oben Die Zeichenfolgen können nicht genau gleich sein, daher wird keine Ersetzung durchgeführt.
Aber manchmal muss beim Ersetzen von Zeichenfolgen nicht so streng vorgegangen werden und die Groß-/Kleinschreibung von Zeichen kann ignoriert werden. Heute stellen wir eine Methode vor, die die Groß-/Kleinschreibung von Ersetzungszeichen nicht berücksichtigt.
Schauen wir uns das folgende Beispiel an:
<?php $str = 'hello,world,Hello,World'; $replace = '*'; $search1 = 'hello'; $search2 = 'world'; echo str_ireplace($search1, $replace, $str)."<br>"; echo str_ireplace($search2, $replace, $str)."<br>"; ?>
Beachten Sie den obigen Code. Wir müssen „hello<“ in der $str-Zeichenfolge „<code>hello,world,Hello,World</code“ ändern >“ /code>“- und „<code>world
“-Teilzeichenfolgen werden durch *
-Nummern ersetzt. Allerdings gibt es zwei Arten von $str-Strings, die die Anforderungen erfüllen: Eine ist eine Teilzeichenfolge, die vollständig übereinstimmt (die Groß-/Kleinschreibung ist konsistent), und die andere ist eine unvollständige Übereinstimmung (die Groß-/Kleinschreibung ist inkonsistent).
Aber da wir die Funktion str_ireplace() verwenden, die die Groß- und Kleinschreibung ignorieren kann, ersetzt sie die beiden Teilzeichenfolgen „hello“ und „Hello“, „world“ und „World“ in der Zeichenfolge $str, die die Anforderungen erfüllen werden durch * ersetzt. Das Ausgabeergebnis lautet also: hello,world,Hello,World
”中的“hello
”和“world
”子串替换成*
号。但$str字符串中符合要求的有两种:一种是完全匹配(大小写一致)的子串,一种是不完全匹配(大小写不一致)的。
但因为我们使用的是str_ireplace()函数,该函数可以忽略大小写,因此会将字符串$str中符合要求的两种子串“hello”和“Hello”、“world”和“World”,都替换为*号。所以输出结果为:
是不是很简单,下面我们来了解一下这个str_ireplace()函数。
str_ireplace($search,$replace,$string,$count)
函数可以忽略大小写的替换字符串中的一些字符,该函数接受的参数和str_replace()函数一样,前3个参数是必需的(不可省略),后一个参数$count
是可省略的(但设置了,可以获取替换次数)。
参数$count
str_ireplace($search,$replace,$string,$count)
Die Funktion kann einige Zeichen in der Zeichenfolge ersetzen, wobei die Groß-/Kleinschreibung ignoriert wird. Die von dieser Funktion akzeptierten Parameter sind die gleichen wie die Funktion str_replace() . Die vorherigen drei Parameter sind erforderlich (können nicht weggelassen werden), und der letzte Parameter $count
kann weggelassen werden (wenn er jedoch festgelegt ist, kann die Anzahl der Ersetzungen ermittelt werden).
Der Parameter $count
kann eine Variable akzeptieren, um die Anzahl der Ersetzungen zu zählen. Wenn dieser Parameter gesetzt ist, können Sie wissen, wie viele Ersetzungen insgesamt durchgeführt wurden. <?php
header("Content-Type: text/html;charset=utf-8"); //设置字符编码
$str = 'hello,world,Hello,World';
$replace = '*';
$search1 = 'hello';
$search2 = 'world';
echo str_ireplace($search1, $replace, $str, $i)."<br>";
echo "一共执行了 $i"." 次替换<br><br>";
echo str_ireplace($search2, $replace, $str, $i)."<br>";
echo "一共执行了 $i"." 次替换<br><br>";
?>
Erklärung:
Da die Funktionen str_ireplace() und str_replace() direkt die Teilzeichenfolge angeben, die ersetzt werden muss, können beide Funktionen zum Ersetzen chinesischer Zeichen verwendet werden.
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $str = '你好,欢迎来到这里!'; $replace = '*'; $search1 = '你好'; $search2 = '欢迎'; echo str_ireplace($search1, $replace, $str)."<br>"; echo str_replace($search2, $replace, $str)."<br>"; ?>
Ausgabeergebnis:
Die reine chinesische Zeichenfolge ist fast gleich, aber bei der gemischten chinesischen und englischen Zeichenfolge wird die Groß-/Kleinschreibung beachtet, sodass Sie je nach Bedarf auswählen können, welche Zeichenfolge Sie verwenden möchten. Das obige ist der detaillierte Inhalt vonPHP verwendet geschickt Funktionen, um bestimmte Teilzeichenfolgen durch *-Zeichen zu ersetzen (ohne Berücksichtigung der Groß- und Kleinschreibung).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!<?php
header("Content-Type: text/html;charset=utf-8"); //设置字符编码
$str = '你好,欢迎来到PHP中文网!';
$replace = '这里';
$search1 = 'PHP中文网';
$search2 = 'php中文网';
echo str_ireplace($search1, $replace, $str)."<br>";
echo str_replace($search2, $replace, $str)."<br>";
?>