Lors du traitement des chaînes de multi-gobets en PHP, des opérations de remplacement insensible à la caisse sont souvent nécessaires. MB_EREGI_REPLACE est une fonction très pratique qui peut être utilisée pour implémenter le remplacement de l'expression régulière insensible à la casse, ce qui convient particulièrement aux caractères multi-octets tels que chinois. Cet article présentera comment combiner la fonction MB_EREGI_REPLACE et la balise HTML <MARK> pour ajouter des effets de mise en évidence aux mots clés du texte.
MB_EREGI_REPLACE est l'une des fonctions de chaîne multi -yte de PHP, et sa fonction est d'effectuer un remplacement régulier insensible à la casse. Sa syntaxe est la suivante:
mb_eregi_replace(string $pattern, string $replacement, string $string, ?string $option = null): string
$ motif : l'expression régulière à correspondre (cas insensible)
$ Remplacement : chaîne remplacée
$ String : la chaîne en cours de recherche
$ Option : Paramètre facultatif pour contrôler le comportement de correspondance
Il prend en charge les caractères multi-octets et convient au traitement de texte dans les langues chinoises, japonaises, coréennes et autres.
La balise HTML5 <MARK> est spécialement utilisée pour marquer le texte qui doit être mis en évidence. Le navigateur utilise un arrière-plan jaune pour afficher le contenu marqué par défaut, ce qui convient très à la mise en surbrillance des mots clés.
Par exemple:
C'est un <mark>Souligner</mark> Paroles。
Le mot «remontée» sera affiché sur la page avec un fond jaune.
Ce qui suit est un exemple de code qui montre comment utiliser MB_ERGI_REPLACE pour envelopper les mots clés spécifiés avec la balise <mark> pour obtenir un effet de mise en évidence.
<?php
// Exemple de texte
$text = "PHP C'est un langage de script côté serveur très populaire。PHP Prend en charge plusieurs paradigmes de programmation。";
// 需要Souligner的关键词(Ça peut être multiple,utiliser|Séparation)
$keywords = "php|Côté serveur";
// Construire des expressions régulières,使utiliser括号捕获关键词本身,Ignorer le cas
$pattern = "(" . $keywords . ")";
// 使utiliser mb_eregi_replace Effectuer des remplacements insensibles à des cas,Ajouter des mots clés <mark> Étiquette
$highlightedText = mb_eregi_replace(
$pattern,
"<mark>\\1</mark>",
$text
);
// 输出Souligner后的文本
echo $highlightedText;
?>
Exemple de résultat d'exécution:
<mark>PHP</mark> C'est un très populaire<mark>Côté serveur</mark>Langage de script。<mark>PHP</mark> Prend en charge plusieurs paradigmes de programmation。
De cette façon, la partie clé de la page sera enveloppée de la balise <mark> , réalisant ainsi la mise en évidence.
L'appariement de MB_ERGI_REPLACE est insensible à la casse et convient aux scénarios où des mots clés de correspondance floues sont nécessaires.
Les mots clés dans les expressions régulières doivent être séparés par des caractères de tuyau | représenter la relation de "ou".
Si le mot-clé contient des caractères spéciaux, il doit être échappé en premier pour éviter d'affecter une correspondance régulière.
Pour vous assurer que le traitement des chaînes multi -yte est correct, assurez-vous que l'extension MBSTRING est activée dans l'environnement PHP.
Supposons que vous ayez l'exemple d'adresse Web suivant et que vous devez remplacer certains des mots clés:
<?php
$text = "Visitez notre site officiel https://m66.net/ Apprendre encore plus。";
// Souligner “m66.net”
$keywords = "m66\\.net";
$pattern = "(" . $keywords . ")";
$highlightedText = mb_eregi_replace(
$pattern,
"<mark>\\1</mark>",
$text
);
echo $highlightedText;
?>
Après l'exécution, "m66.net" sera mis en évidence.
Grâce à l'introduction ci-dessus, vous pouvez facilement utiliser les balises MB_EREGI_REPLACE et <MARK> pour ajouter des effets de mise en évidence aux mots clés du texte pour améliorer la lisibilité et l'expérience utilisateur du contenu.