Lors du traitement des chaînes de multi-gobets en PHP, la fonction MB_EREGI_REPLACE est un outil très pratique. Il peut être utilisé pour remplacer les expressions régulières sur les chaînes et prend en charge le codage multi-octets tout en ignorant la partie supérieure et les minuscules. Cet article présentera comment utiliser la fonction MB_EREGI_REPLACE pour remplacer les caractères de la ligne de nouvelles dans le texte (y compris \ r \ n , \ r et \ n ) par des balises Newline dans HTML <br> pour afficher correctement l'effet Newline sur une page Web.
Dans HTML, les pauses de ligne ordinaires ne sont pas rendues à un effet de rupture de ligne par le navigateur. Seules les balises <br> peuvent rendre les ruptures de ligne de texte efficaces. Par conséquent, si une chaîne obtenue à partir d'une entrée ou d'un fichier utilisateur contient un caractère Newline et est directement sorti sur une page Web, le texte ressemble à une ligne entière sans nouvelle ligne. Le remplacement de Newlines par <br> TAGS est une exigence commune pour gérer un tel texte.
MB_EREGI_REPLACE est une fonction de remplacement régulière pour les chaînes multi-octets en PHP, et sa signature de fonction est la suivante:
string mb_eregi_replace ( string $pattern , string $replacement , string $string [, string $option = "msr" ] )
$ motif : le modèle d'expression régulière à correspondre (insensible au cas).
$ Remplacement : chaîne remplacée.
$ String : entrez une chaîne.
$ Option : Option régulière facultative, la valeur par défaut est "MSR" .
L'exemple suivant montre comment remplacer une nouvelle ligne par <br> en utilisant MB_EREGI_REPLACE :
<?php
// Définissez le codage sur UTF-8
mb_internal_encoding("UTF-8");
// Texte en attente
$text = "C'est la première ligne。\r\nC'est la deuxième ligne。\nC'est la troisième ligne。\rC'est la quatrième ligne。";
// utiliser mb_eregi_replace Remplacez les caractères de Newline
$converted = mb_eregi_replace("\r\n|\r|\n", "<br>", $text);
// Résultat de sortie
echo $converted;
?>
Expression régulière \ r \ n | \ r | \ nmatch Tous types de caractères de Newline:
Breaks de la ligne de style Windows: \ r \ n
Breaks de ligne pour Mac OS (ancienne version): \ R
Break de ligne Unix / Linux: \ n
Remplacez par <br> pour que les ruptures de ligne puissent être affichées correctement lorsque la page Web est sortie.
Veuillez vous assurer que l'extension MBSTRING est activée dans l'environnement PHP, sinon MB_EREGI_REPLACE ne sera pas utilisé.
MB_ERGI_REPLACE est sensible à la casse et n'a aucun effet sur les caractères de Newline, mais est utile pour les autres remplacements de caractères.
Si vous ne gérez que l'anglais et les caractères normaux, vous pouvez également utiliser PREG_REPLACE à la place, mais MB_EREGI_REPLACE prend en charge mieux les caractères multi -yte.
L'utilisation de MB_ERGI_REPLACE pour remplacer le caractère de rupture de ligne à <br> est un bon moyen de réaliser l'affichage des ruptures de ligne des cordes multi-octets, et convient particulièrement aux scénarios de traitement de texte qui incluent des caractères chinois et japonais tels que chinois. La maîtrise de cette technique peut améliorer l'effet d'affichage et l'expérience utilisateur du texte de la page Web.