Maison  >  Article  >  développement back-end  >  Comment utiliser la fonction preg_replace de remplacement régulier de PHP

Comment utiliser la fonction preg_replace de remplacement régulier de PHP

coldplay.xixi
coldplay.xixioriginal
2020-08-06 14:29:072039parcourir

Comment utiliser la fonction preg_replace de remplacement régulier de PHP : 1. Supprimez 0 caractères, le code est [preg_replace("/0/","",$str)]; [preg_replace ("/[0-9]/","",$str)].

Comment utiliser la fonction preg_replace de remplacement régulier de PHP

Comment utiliser la fonction preg_replace de remplacement régulier de PHP :

<?php
$str="as2223adfsf0s4df0sdfsdf";
echo preg_replace("/0/","",$str);//去掉0字符,此时相当于 replace的功能, preg_replace("/0/","A",$str); 这样就是将0变成A的意思了
echo preg_replace("/[0-9]/","",$str);//去掉所有数字
echo preg_replace("/[a-z]/","",$str); //这样是去掉所有小写字母
echo preg_replace("/[A-Z]/","",$str); //这样是去掉所有大写字母
echo preg_replace("/[a-z,A-Z]/","",$str); //这样是去掉所有字母
$str="as2223adfsAAf0s4df0s中国人dD中南海DDfsdf";
echo preg_replace("/[a-z,A-Z,0-9]/","",$str); //去掉所有字母和数字
?>

Après les exemples ci-dessus, je pense que vous le savez tous ,[ ] Et quelle est la fonction à l’intérieur. Vous pouvez également voir que la chaîne correspondante doit être ajoutée avec / / (voir le premier paramètre de l'exemple)

<?php
$str="acsdcs<55555555>sc<6666>sdcd";
echo preg_replace("/<.*>/","",$str);

Cela signifie supprimer la partie commençant par 68f94c1bfdbfb9fac4b7e212bbbdafa4. le résultat de sortie est : acsdcssdcd

Remarque : le .* ci-dessus signifie n'importe quel caractère, c'est-à-dire que tout ce qui est entouré par a8093152e673feb7aba1828c43532094 signifie n'importe quel caractère, * signifie n'importe quel nombre.

Maintenant, changeons-le. Et si nous ne voulons pas que ce soit n'importe quel nombre ?

$str="acsdcs<55555555>sc<6666>sdcd";
rrree

//Sortie à ce moment : acsdcs02eac4294052cb4fb9d07d6c10a3ea36scsdcd Parce que {4} spécifie la condition : seuls 4 caractères dans a8093152e673feb7aba1828c43532094 , ne peut pas être remplacé.

Remarque : à ce moment-là, nous avons appris un autre point de connaissance {numéro} représente le nombre spécifié devant, * représente n'importe quel nombre (0--infini)

représente le nombre de répétitions en plus de *, {fois spécifiées}, il existe de nombreuses expressions :

echo preg_replace("/<.{4}>/","",$str);

L'exemple ci-dessus sert simplement à exprimer la différence entre * et +, * signifie répéter 0 fois ou n fois, et + signifie plus d'une fois, autrement dit, dans un exemple, a15dbeee75f7a9073f11b398cb67bae0 signifie qu'il doit y avoir au moins un nombre dans a8093152e673feb7aba1828c43532094

Je pense que vous savez tous maintenant pourquoi les résultats de l'utilisation de * et + dans l'exemple ci-dessus sont différents

Revenez :

<?php
$str="acsdcs<55555555>sc<6666>sd<>cd";
echo preg_replace("/<[0-9]*>/","",$str);
//输出acsdcscd
echo "<hr>";
echo preg_replace("/<[0-9]+>/","",$str);
//输入acsdcsscsd<>cd
?>

Regardez [0-9 ]? Ici, le ? signifie que si c'est 0 ou 1 fois, si c'est plus d'une fois, il ne remplit pas les conditions.

Pour résumer, nous avons appris ci-dessus comment * + ? et les accolades {} représentent le nombre de répétitions.

Recommandations d'apprentissage associées : programmation php (vidéo)

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