Position actuelle: Accueil> Derniers articles> Comment mettre en surbrillance le texte à l'aide de mb_eregi_replace? Implémentez les balises de mots clés avec les balises <Mark>

Comment mettre en surbrillance le texte à l'aide de mb_eregi_replace? Implémentez les balises de mots clés avec les balises <Mark>

M66 2025-06-02

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.


1. Qu'est-ce que MB_EREGI_REPLACE ?

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.


2. Le principe de la mise en évidence des mots clés avec des balises <Mark>

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&#39;est un <mark>Souligner</mark> Paroles。

Le mot «remontée» sera affiché sur la page avec un fond jaune.


3. Exemple de code qui combine MB_EREGI_REPLACE pour réaliser des mots clés en surbrillance

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&#39;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&#39;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.


4. Choses à noter

  • 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.


5. Combiné avec des exemples d'URL réels

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.