En PHP, les fonctions sont utilisées pour effectuer une correspondance régulière dans les chaînes multi-octets, prennent en charge le codage multi-octets telles que l'UTF- 8 , et sont souvent utilisés pour traiter des textes tels que le chinois et le japonais tels que les caractères non ASCII. Cet article présentera des exemples d'écriture réguliers et des techniques pratiques courantes.
La syntaxe est la suivante:
<span><span>bool</span></span><span> </span><span><span class="function_ invoke__">mb_ereg_match</span></span> <span>(</span> <span><span>chaîne</span></span><span> </span><span><span>$ motif</span></span> <span>,</span> <span><span>chaîne</span></span><span> </span><span><span>$ string</span></span> <span>[,</span> <span><span>chaîne</span></span><span> </span><span><span>$ option</span></span> <span>=</span> <span><span>""</span></span> <span>]) </span><p>Retour <span class="fun">True</span> signifie que le match est réussi, <span class="fun">et le faux</span> signifie que le match est échoué.</p><p> Exemple:</p><pre> <span><span class="function_ invoke__">MB_REGEX_ENCODING</span></span> <span>(</span> <span><span>"UTF-8"</span></span> <span>);</span> <span><span>// définir le codage correspondant régulier</span></span><span> </span><span><span>if</span></span> <span>(</span> <span><span class="function_ invoke__">mb_ereg_match</span></span> <span>(</span> <span><span>"^ [0-9] + $"</span></span> <span>,</span> <span><span>"12345"</span></span> <span>)) { </span><span><span>écho</span></span><span> </span><span><span>"Correspondre avec succès"</span></span> <span>; }</span> <span><span>autre</span></span> <span>{ </span><span><span>écho</span></span><span> </span><span><span>"Match a échoué"</span></span> <span>; } </span><p>Dans cet exemple, régulier <span class="fun">^ [0-9] + $</span> signifie que la chaîne doit être composée de nombres.</p><h2> <span><span>2.</span></span> <span>Match des caractères chinois</span><p> Les caractères chinois peuvent être égalés via des gammes Unicode:</p><pre> <span><span class="function_ invoke__">MB_REGEX_ENCODING</span></span> <span>(</span> <span><span>"UTF-8"</span></span> <span>); </span><span><span>if</span></span> <span>(</span> <span><span class="function_ invoke__">mb_ereg_match</span></span> <span>(</span> <span><span>"^ [\ x {4e00} - \ x {9fa5}] + $"</span></span> <span>,</span> <span><span>"test chinois"</span></span> <span>) { </span><span><span>écho</span></span><span> </span><span><span>"Tous les matchs chinois"</span></span> <span>; }</span> <span><span>autre</span></span> <span>{ </span><span><span>écho</span></span><span> </span><span><span>"Match a échoué"</span></span> <span>; } </span><p>Ici <span class="fun">[\ x {4e00} - \ x {9fa5}]</span> est une gamme Unicode chinoise couramment utilisée.</p><h2> <span><span>3.</span></span> <span>Faites correspondre l'adresse e-mail</span><p> Exemple de correspondance par e-mail:</p><pre> <span><span class="function_ invoke__">MB_REGEX_ENCODING</span></span> <span>(</span> <span><span>"UTF-8"</span></span> <span>); </span><span><span>$ Pattern</span></span> <span>=</span> <span><span>"^ [a-za-z0-9 ._% -] + @ [a-za-z0-9 .-] + \. [a-za-z] {2,4} $"</span></span> <span>; </span><span><span>if</span></span> <span>(</span> <span><span class="function_ invoke__">MB_ERG_MATCH</span></span> <span>(</span> <span><span>$ Pattern</span></span> <span>,</span> <span><span>"[email protected]"</span></span> <span>)) { </span><span><span>écho</span></span><span> </span><span><span>"L'adresse e-mail est légale"</span></span> <span>; }</span> <span><span>autre</span></span> <span>{ </span><span><span>écho</span></span><span> </span><span><span>"L'adresse e-mail est illégale"</span></span> <span>; } </span><h2><span><span>4.</span></span> <span>Faire correspondre le numéro de téléphone mobile</span><p> Façons courantes d'écrire des numéros de téléphone mobile en Chine continentale:</p><pre> <span><span class="function_ invoke__">MB_REGEX_ENCODING</span></span> <span>(</span> <span><span>"UTF-8"</span></span> <span>); </span><span><span>$ Pattern</span></span> <span>=</span> <span><span>"^ 1 [3-9] [0-9] {9} $"</span></span> <span>; </span><span><span>if</span></span> <span>(</span> <span><span class="function_ invoke__">MB_ERG_MATCH</span></span> <span>(</span> <span><span>$ Pattern</span></span> <span>,</span> <span><span>"13800138000"</span></span> <span>)) { </span><span><span>écho</span></span><span> </span><span><span>"Le numéro de téléphone mobile est légal"</span></span> <span>; }</span> <span><span>autre</span></span> <span>{ </span><span><span>écho</span></span><span> </span><span><span>"Le numéro de téléphone portable est illégal"</span></span> <span>; } </span><h2><span><span>5.</span></span> <span>Techniques communes</span><ul><li> <strong>Définir le codage:</strong> Avant d'utiliser la fonction MB_EREG Series, vous devez utiliser <span class="fun">MB_REGEX_ENCODING ("UTF-8")</span> pour définir le codage des caractères, sinon la correspondance chinoise peut échouer.</li><li> <strong>L'utilisation des points d'ancrage:</strong> <span class="fun">^</span> représente le début et <span class="fun">$</span> représente la fin, qui peut garantir que la chaîne complète correspond.</li><li> <strong>Correspondance combinée:</strong> vous pouvez utiliser <span class="fun">|</span> Pour combiner plusieurs règles de correspondance, telles que <span class="fun">^ (Apple | Orange | Banana) $</span> .</li><li> <strong>Remarque s'échapper:</strong> caractères spéciaux dans la régularité tels que <span class="fun">.</span> , <span class="fun">+</span> , <span class="fun">*</span> , etc. doivent être échappés en fonction du contexte.</li><li> <strong>Conseils de performance:</strong> la fonction de la série MB_EREG est légèrement plus lente que la série PREG, mais est plus sûre et plus fiable lorsqu'elle traite des chaînes multi-gytets.</li></ul><p> Résumé: <strong>MB_ERG_MATCH</strong> est un outil puissant pour gérer la correspondance régulière des chaînes multi-octets. En définissant raisonnablement l'encodage et les règles régulières, il peut facilement répondre aux besoins communs tels que les numéros, le chinois, les e-mails et les numéros de téléphone portable. La maîtrise de ces exemples et techniques peut rendre votre traitement de chaîne PHP plus robuste.</p> <span><span><?php</span></span><span> </span><span><span>// Cette partie n'a rien à voir avec le contenu de l'article. Vous pouvez placer le script pour terminer le traitement</span></span><span> </span><span><span>écho</span></span><span> </span><span><span>"\ NPHP Le script s'exécute. \ n"</span></span> <span>;</span> <span><span>?></span></span><span> </span></span></div></div>