Comment rechercher et remplacer des chaînes en php (une brève analyse de la méthode)

PHPz
Libérer: 2023-04-11 14:00:38
original
1138 Les gens l'ont consulté

En PHP, vous pouvez utiliser des fonctions intégrées pour rechercher et remplacer des chaînes. Dans cet article, nous présenterons les fonctions suivantes :

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

Ces trois fonctions sont très couramment utilisées dans le traitement des chaînes. Présentons-les un par un ci-dessous.

1. La fonction strpos()

strpos()est utilisée pour trouver la première occurrence d'une sous-chaîne dans une chaîne. S'il est trouvé, il renvoie cet emplacement, sinon il renvoiefalse.strpos()函数用于查找字符串中某个子串的第一个出现位置。如果找到了,它将返回该位置,否则返回false

语法:

int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
Copier après la connexion

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

例子:

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

$pos = strpos('hello world', 'world'); if ($pos !== false) { echo "找到了,位置在 $pos。"; } else { echo "未找到。"; }
Copier après la connexion

这个例子会输出:

找到了,位置在 6。
Copier après la connexion

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

2. strstr()

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

语法:

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
Copier après la connexion

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

例子:

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

$result = strstr('hello world', 'world'); echo "查找结果:$result";
Copier après la connexion

这个例子会输出:

查找结果:world
Copier après la connexion

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

$result = strstr('hello world', 'world', true); echo "查找结果:$result";
Copier après la connexion

这个例子会输出:

查找结果:hello
Copier après la connexion

3. str_replace()

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

语法:

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
Copier après la connexion

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

例子:

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

$string = 'hello world'; $string = str_replace('world', 'PHP', $string); echo $string;
Copier après la connexion

这个例子会输出:

hello PHP
Copier après la connexion

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

$string = 'hello world'; $count = 0; $string = str_replace('world', 'PHP', $string, $count); echo "替换了 $count 次。结果为:$string";
Copier après la connexion

这个例子会输出:

替换了 1 次。结果为:hello PHP
Copier après la connexion

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

Syntaxe :

rrreeeParmi eux, $haystackreprésente la chaîne cible dans laquelle trouver la sous-chaîne ; $needlereprésente la sous-chaîne à trouver ; ; $offsetreprésente la position de départ de la recherche.

Exemple :

L'exemple suivant trouvera la première occurrence de la sous-chaîne 'world'dans la chaîne 'hello world': rrreee Cet exemple affichera : rrreeeSi la sous-chaîne n'est pas trouvée dans la chaîne cible, la fonction strpos()renvoie false, nous pouvons utiliser if pour déterminer s'il est trouvé. 2. strstr()strstr()La fonction est utilisée pour trouver la première position d'occurrence d'une certaine sous-chaîne dans une chaîne et renvoyer cette position et tous les caractères qui la suivent.

Syntaxe :

rrreeeParmi eux, $haystackreprésente la chaîne cible dans laquelle trouver la sous-chaîne ; $needlereprésente la sous-chaîne à trouver ; ; $before_needleindique s'il faut renvoyer les caractères avant la sous-chaîne. S'il est défini sur true, les caractères avant la sous-chaîne seront renvoyés. sera restitué.

Exemple :

L'exemple suivant trouvera la chaîne 'hello world'et la sous-chaîne 'world': rrreeeCet exemple affichera :rrreeeSi $before_needleest défini sur true, le caractère devant la sous-chaîne sera renvoyé : rrreeeCet exemple affichera : rrreee3. str_replace() str_replace()La fonction est utilisée pour remplacer une certaine sous-chaîne dans une chaîne par une autre sous-chaîne.

Syntaxe :

rrreeeParmi eux, $searchreprésente la sous-chaîne à remplacer ; $replacereprésente la sous-chaîne à remplacer ; $ subjectreprésente la chaîne cible à remplacer ; $countreprésente le nombre de remplacements Si ce paramètre est défini, le nombre de remplacements sera enregistré dans cette variable.

Exemple :

L'exemple suivant remplacera 'world'dans la chaîne 'hello world'par 'PHP' : rrreeeCet exemple affichera : rrreeeDans l'exemple ci-dessus, le paramètre $countn'est pas défini, donc le nombre de substitutions n'est pas enregistré. Si vous devez enregistrer le nombre de substitutions, vous pouvez l'utiliser de la manière suivante : rrreeeCet exemple affichera : rrreeeJusqu'à présent, nous avons introduit trois fonctions de traitement de chaînes couramment utilisées en PHP : strpos( ), strstr()et str_replace(). Vous pouvez choisir la fonction à utiliser pour traiter les chaînes en fonction de vos besoins.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!