Maison  >  Article  >  développement back-end  >  Comment supprimer les lettres non chinoises en php

Comment supprimer les lettres non chinoises en php

青灯夜游
青灯夜游original
2022-04-24 14:32:101583parcourir

Comment supprimer les lettres non chinoises en PHP : utilisez la fonction preg_replace() avec des expressions régulières pour rechercher des lettres non chinoises dans la chaîne et remplacez-les par des caractères vides. La syntaxe est "preg_replace("/[^x{. 4E00}-x{9FFF}]+/u",'', $str)".

Comment supprimer les lettres non chinoises en php

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 lettres non chinoises dans la chaîne .

L'expression régulière est : /[^x{4E00}-x{9FFF}]+/u/[^x{4E00}-x{9FFF}]+/u

preg_replace()删除原理:利用正则表达式搜索字符串中的非中文字母,并将其替换成空字符''

preg_replace() principe de suppression : utiliser des expressions régulières pour rechercher des chaînes non- Lettres chinoises et remplacez-les par des caractères vides ''.

Exemple d'implémentation : Comment supprimer les lettres non chinoises en php

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str= &#39;php中文网!-=1548&#39;;
$pattern = "/[^\x{4E00}-\x{9FFF}]+/u";
echo preg_replace($pattern,&#39;&#39;, $str);
?>

Description : preg_replace() :

la fonction preg_replace() peut effectuer une recherche et un remplacement d'expressions régulières et est une puissante fonction de traitement de remplacement de chaîne. Le format de syntaxe de cette fonction est le suivant. :

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
    La description du paramètre est la suivante :
  • $pattern : le modèle à rechercher, qui peut être une chaîne ou un tableau de chaînes
  • $replacement : la chaîne ou le tableau de chaînes utilisé pour le remplacement ; Si cet argument est une chaîne et que $pattern est un tableau, alors tous les modèles sont remplacés par cette chaîne. Si $pattern et $replacement sont tous deux des tableaux, chaque $pattern est remplacé par l'élément correspondant dans $replacement. S'il y a moins d'éléments dans $replacement que dans $pattern, le $pattern supplémentaire est remplacé par la chaîne vide.
  • $subject : La chaîne ou le tableau de chaînes à rechercher et à remplacer. Si $subject est un tableau, la recherche et le remplacement seront effectués sur chaque élément de $subject, et la valeur de retour sera également un tableau.
  • $limit : Paramètre facultatif, le nombre maximum de substitutions par motif sur chaque $subject. La valeur par défaut est -1 (infini).
$count : paramètre facultatif, s'il est spécifié, sera renseigné avec le nombre de substitutions effectuées.

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!

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