So finden und ersetzen Sie Zeichenfolgen in PHP (eine kurze Analyse der Methode)

PHPz
Freigeben: 2023-04-11 14:00:38
Original
1145 Leute haben es durchsucht

In PHP können Sie integrierte Funktionen verwenden, um Zeichenfolgen zu suchen und zu ersetzen. In diesem Artikel stellen wir die folgenden Funktionen vor:

  1. strpos()
  2. strstr()
  3. str_replace()

Diese drei Funktionen werden sehr häufig bei der Verarbeitung von Zeichenfolgen verwendet. Lassen Sie uns sie im Folgenden einzeln vorstellen.

1. Die Funktion strpos()

strpos()wird verwendet, um das erste Vorkommen eines Teilstrings in einem String zu finden. Wenn es gefunden wird, wird der Standort zurückgegeben, andernfalls wirdfalsezurückgegeben.strpos()函数用于查找字符串中某个子串的第一个出现位置。如果找到了,它将返回该位置,否则返回false

语法:

int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
Nach dem Login kopieren

其中,$haystack表示要在其中查找子串的目标字符串;$needle表示要查找的子串;$offset表示查找的起始位置。

例子:

下面的例子将查找字符串'hello world'中第一个出现的子串'world'

$pos = strpos('hello world', 'world'); if ($pos !== false) { echo "找到了,位置在 $pos。"; } else { echo "未找到。"; }
Nach dem Login kopieren

这个例子会输出:

找到了,位置在 6。
Nach dem Login kopieren

如果在目标字符串中没有找到子串,则strpos()函数返回false,我们可以用if语句来判断是否找到了。

2. strstr()

strstr()函数用于查找字符串中某个子串的第一个出现位置,并返回该位置以及其后面的所有字符。

语法:

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
Nach dem Login kopieren

其中,$haystack表示要在其中查找子串的目标字符串;$needle表示要查找的子串;$before_needle表示是否返回子串前面的字符,如果设置为true,则返回子串前面的字符,否则返回子串及其后面的字符。

例子:

下面的例子将查找字符串'hello world'中子串'world'

$result = strstr('hello world', 'world'); echo "查找结果:$result";
Nach dem Login kopieren

这个例子会输出:

查找结果:world
Nach dem Login kopieren

如果把$before_needle设置为true,则会返回子串前面的字符:

$result = strstr('hello world', 'world', true); echo "查找结果:$result";
Nach dem Login kopieren

这个例子会输出:

查找结果:hello
Nach dem Login kopieren

3. str_replace()

str_replace()函数用于将字符串中的某个子串替换成另一个子串。

语法:

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
Nach dem Login kopieren

其中,$search表示要替换的子串;$replace表示替换成的子串;$subject表示要替换的目标字符串;$count表示替换的次数,如果设置了该参数,则替换的次数将被保存到该变量中。

例子:

下面的例子将把字符串'hello world'中的'world'替换成'PHP'

$string = 'hello world'; $string = str_replace('world', 'PHP', $string); echo $string;
Nach dem Login kopieren

这个例子会输出:

hello PHP
Nach dem Login kopieren

上面的例子中,$count参数没有被设置,因此替换的次数没有被保存。如果需要保存替换的次数,可以按照下面的方式使用:

$string = 'hello world'; $count = 0; $string = str_replace('world', 'PHP', $string, $count); echo "替换了 $count 次。结果为:$string";
Nach dem Login kopieren

这个例子会输出:

替换了 1 次。结果为:hello PHP
Nach dem Login kopieren

至此,我们介绍了 PHP 中常用的三个字符串处理函数:strpos()strstr()str_replace()

Syntax:

rrreeeUnter diesen stellt $haystackdie Zielzeichenfolge dar, in der die Teilzeichenfolge gefunden werden soll; $needlestellt die zu findende Teilzeichenfolge dar ; $offsetstellt die Startposition der Suche dar.

Beispiel:

Das folgende Beispiel findet das erste Vorkommen der Teilzeichenfolge 'world'in der Zeichenfolge 'hello world': rrreee Dieses Beispiel gibt Folgendes aus: rrreeeWenn die Teilzeichenfolge nicht in der Zielzeichenfolge gefunden wird, gibt die Funktion strpos() falsezurück, wir können if-Anweisung, um festzustellen, ob sie gefunden wird. 2. strstr()strstr()Die Funktion wird verwendet, um die erste Vorkommensposition eines bestimmten Teilstrings in einem String zu finden und diese Position und alle darauf folgenden Zeichen zurückzugeben.

Syntax:

rrreeeUnter diesen stellt $haystackdie Zielzeichenfolge dar, in der die Teilzeichenfolge gefunden werden soll; $needlestellt die zu findende Teilzeichenfolge dar ; $before_needlegibt an, ob die Zeichen vor der Teilzeichenfolge zurückgegeben werden sollen. Wenn auf truegesetzt, werden die Zeichen vor der Teilzeichenfolge und die Zeichen danach zurückgegeben wird zurückgegeben.

Beispiel:

Das folgende Beispiel findet die Zeichenfolge 'hello world'und die Teilzeichenfolge 'world': rrreeeDieses Beispiel wird ausgegeben :rrreeeWenn $before_needleauf truegesetzt ist, wird das Zeichen vor der Teilzeichenfolge zurückgegeben: rrreeeDieses Beispiel gibt Folgendes aus: rrreee3. str_replace( ) str_replace()Die Funktion wird verwendet, um einen bestimmten Teilstring in einem String durch einen anderen Teilstring zu ersetzen.

Syntax:

rrreeeDabei stellt $searchdie zu ersetzende Teilzeichenfolge dar; $replacestellt die zu ersetzende Teilzeichenfolge dar; $ subjectstellt die zu ersetzende Zielzeichenfolge dar; $countstellt die Anzahl der Ersetzungen dar. Wenn dieser Parameter gesetzt ist, wird die Anzahl der Ersetzungen in dieser Variablen gespeichert.

Beispiel:

Das folgende Beispiel ersetzt 'world'in der Zeichenfolge 'hello world'durch 'PHP': rrreeeDieses Beispiel gibt Folgendes aus: rrreeeIm obigen Beispiel ist der Parameter $countnicht gesetzt, sodass die Anzahl der Ersetzungen nicht gespeichert wird. Wenn Sie die Anzahl der Ersetzungen speichern müssen, können Sie dies auf folgende Weise verwenden: rrreeeDieses Beispiel gibt Folgendes aus: rrreeeBisher haben wir drei häufig verwendete String-Verarbeitungsfunktionen in PHP eingeführt: strpos( ), strstr()und str_replace(). Sie können entsprechend Ihren Anforderungen auswählen, welche Funktion zur Verarbeitung von Zeichenfolgen verwendet werden soll.

Das obige ist der detaillierte Inhalt vonSo finden und ersetzen Sie Zeichenfolgen in PHP (eine kurze Analyse der Methode). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!