Maison > développement back-end > tutoriel php > Comment puis-je remplacer des mots entiers uniquement en utilisant Regex en PHP ?

Comment puis-je remplacer des mots entiers uniquement en utilisant Regex en PHP ?

Barbara Streisand
Libérer: 2024-12-07 18:22:13
original
138 Les gens l'ont consulté

How Can I Replace Whole Words Only Using Regex in PHP?

Remplacement de mots basé sur Regex dans les chaînes PHP

Le remplacement de mots spécifiques dans une chaîne peut être délicat si vous voulez vous assurer que seuls des mots entiers sont assortis. Dans ce cas particulier, le texte de la chaîne contient le mot « Bonjour » sous diverses formes, mais nous souhaitons remplacer uniquement les occurrences complètes de « Bonjour ».

Pour y parvenir, nous pouvons utiliser les fonctions d'expression régulière de PHP. Les expressions régulières constituent un outil puissant pour faire correspondre des modèles dans des chaînes. La clé pour limiter le remplacement à des mots entiers est le métacaractère b, qui correspond à la limite d'un mot.

En modifiant la fonction str_replace pour incorporer une expression régulière, nous pouvons atteindre notre objectif :

$text = "Hello hellol hello, Helloz";
$newtext = preg_replace('/\bHello\b/', 'NEW', $text);
Copier après la connexion

Le b dans l'expression régulière garantit que seules les occurrences entières de "Bonjour" correspondent, à l'exclusion de toute correspondance partielle ou superposée. Le résultat sera :

NEW hellol hello, Helloz
Copier après la connexion

Cela remplace correctement uniquement les instances complètes de "Hello" par "NEW" tout en laissant les autres variantes intactes.

Gestion Unicode UTF-8 :

Si le texte contient des caractères UTF-8, une étape supplémentaire est nécessaire pour garantir une bonne reconnaissance des limites des mots. L'encodage UTF-8 pour les caractères Unicode nécessite l'utilisation du modificateur "u" dans l'expression régulière :

$text = "Hello hellol こんにちは, Helloz";
$newtext = preg_replace('/\bHello\b/u', 'NEW', $text);
Copier après la connexion

Cela remplacera correctement toutes les occurrences complètes de "Bonjour", quelle que soit la langue ou l'encodage des caractères.

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 articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal