Maison >développement back-end >Problème PHP >Comment supprimer les signes de ponctuation anglais en PHP
Méthode de suppression : utilisez la fonction preg_replace() avec l'expression régulière "/[[:punct:]]/i" pour rechercher tous les signes de ponctuation anglais dans la chaîne et remplacez-les par des caractères vides ; /[[:punct:]]/i', '', $str)".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
En PHP, vous pouvez utiliser la fonction preg_replace() avec des expressions régulières pour supprimer les signes de ponctuation anglais dans les chaînes.
Utilisez simplement la fonction preg_replace() pour remplacer les signes de ponctuation anglais par des chaînes vides.
L'expression régulière utilisée est :
/[[:punct:]]/i
Exemple : Supprimez uniquement les signes de ponctuation anglais et conservez les autres caractères (y compris les signes de ponctuation chinois)
<?php header("Content-type:text/html;charset=utf-8"); $str = "12!@78#9$%^56&78*9()0.8,7<>8|3[]8'45\"67!【】“45”‘67’"; echo "原字符串:".$str."<br><br>"; $Newstr=preg_replace('/[[:punct:]]/i','',$str); echo "处理后:".$Newstr; ?>
Explication
la fonction preg_replace() peut exécuter des expressions régulières Expression recherche et remplacement.
preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
Si $subject est un tableau, la fonction preg_replace() renverra un tableau, sinon elle renverra une chaîne.
Si la fonction preg_replace() trouve une correspondance, elle renverra le $subject remplacé, sinon elle renverra le $subject inchangé. Chaque paramètre de la fonction preg_replace() (sauf le paramètre $limit) peut être un tableau. Si le paramètre $pattern et le paramètre $replacement sont tous deux des tableaux, la fonction traitera les clés dans l'ordre dans lequel elles apparaissent dans le tableau. Si une erreur se produit, NULL est renvoyé.
Le paramètre $replacement peut contenir des références arrière \n ou $n, cette dernière étant syntaxiquement préférée. Chacune de ces références sera remplacée par le texte capturé par le nième sous-groupe de capture correspondant. n peut être compris entre 0 et 99, \0 et $0 représentant le texte complet de correspondance de modèle.
La méthode de comptage des numéros de série pour capturer les sous-groupes est la suivante : le support gauche représentant le sous-groupe de capture est compté de gauche à droite, en commençant par 1. Si vous souhaitez utiliser des barres obliques inverses dans $replacement, vous devez utiliser 4 ("\\" car il s'agit d'abord d'une chaîne PHP, puis deux après l'échappement, et ensuite elle est considérée comme un texte original après passage par la barre oblique inverse du moteur d'expression régulière).
Lorsque vous travaillez en mode remplacement et que la référence arrière doit être suivie d'un autre numéro (par exemple : ajouter un numéro d'origine immédiatement après un modèle correspondant), vous ne pouvez pas utiliser une syntaxe telle que \1 pour décrire la référence arrière. Par exemple, \11 empêchera preg_replace() de comprendre si vous voulez une référence arrière \1 suivie d'un 1 d'origine, ou une référence arrière \11 suivie de rien. La solution dans ce cas est d'utiliser ${1}1. Cela crée une référence arrière distincte pour $1, une référence arrière distincte pour la source 1.
Lors de l'utilisation du modificateur e obsolète, cette fonction échappera certains caractères (c'est-à-dire : ', " et NULL), puis effectuera le remplacement des références arrière. Lorsque cela est fait, assurez-vous qu'il n'y a pas de références arrière après l'analyse des erreurs de syntaxe causées par un seul guillemets ou guillemets doubles (par exemple : 'strlen('$1')+strlen("$2")'). Assurez-vous de respecter la syntaxe de chaîne de PHP et de respecter la syntaxe eval. Après avoir terminé le remplacement, le moteur utilisera. la méthode eval pour évaluer la chaîne résultat en tant que code php et utiliser la valeur de retour comme chaîne finale à remplacer
Apprentissage recommandé : "Tutoriel vidéo PHP"
.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!