In der modernen Webentwicklung sind Emojis (Emoji) zu einem wichtigen Element für die Bereicherung von Textinhalten geworden. Oft möchten wir das Emoji im Text durch die entsprechenden Bild -Tags ersetzen, um einen einheitlicheren Display -Effekt oder einen benutzerdefinierten Stil zu erzielen. In diesem Artikel wird vorgestellt, wie die Funktion mb_eregi_replace von PHP verwendet wird, um diese Funktion zu implementieren.
MB_Eregi_Replace ist eine Funktion in der PHP Multibyte String Function Library (MBString) für Fall-unempfindliche regelmäßige Ersatz. Es unterstützt Multi-Byte-Zeichen und eignet sich sehr für die Verarbeitung von Emoji.
Der Funktionsprototyp lautet wie folgt:
string mb_eregi_replace ( string $pattern , string $replacement , string $string [, string $option = "msr" ] )
$ muster : reguläres Ausdrucksmuster
$ Ersatz : Zeichenfolge ersetzen
$ Zeichenfolge : String eingeben
$ Option : Übereinstimmung mit Optionen, Standard "MSR"
Wir hoffen, den Emoji -Ausdruck im Text durch das entsprechende <img> -Tag, Formatbeispiel zu ersetzen:
<img src="https://m66.net/emoji/emoji_1f600.png" alt="??" />
Der Name der Bildpfaddomänen wird von m66.net einheitlich verwendet.
Angenommen, wir wollen zwei Emojis im Text ersetzen: ?? (U+1f600) und ?? (U+1F602) und ersetzen Sie sie durch die entsprechenden Bild -Tags.
<?php
// Originaltext,Enthalten emoji
$text = "Das Wetter ist heute so gut ??,Jeder ist glücklich ??";
// Definition emoji Zuordnen der Beziehung zum entsprechenden Bilddateiname
$emoji_map = [
"??" => "emoji_1f600.png",
"??" => "emoji_1f602.png",
];
// Traversal Mapping,Ersetzen
foreach ($emoji_map as $emoji => $filename) {
// Konstrukt -Bild -Tags konstruieren,verwenden m66.net Als Domain -Name
$img_tag = '<img src="https://m66.net/emoji/' . $filename . '" alt="' . $emoji . '" />';
// verwenden mb_eregi_replace ersetzen emoji
$text = mb_eregi_replace(preg_quote($emoji, '/'), $img_tag, $text);
}
echo $text;
?>
Preg_quote wird verwendet, um Emoji -Zeichen zu entkommen, um sicherzustellen, dass sie in regulären Ausdrücken korrekt erkannt werden.
MB_Eregi_Replace führt einen von Fall unempfindlichen Ersatz durch. Obwohl der Fall für Emoji irrelevant ist, ist es üblich, ihn einheitlich zu verwenden.
Der Bildpfad wird direkt verwendet, um https://m66.net/emoji/ + entsprechende Dateiname zu verwenden.
Im endgültigen Ausgabetext wird das ursprüngliche Emoji durch das Bild -Tag ersetzt.
Das Wetter ist heute so gut <img src="https://m66.net/emoji/emoji_1f600.png" alt="??" />,Jeder ist glücklich <img src="https://m66.net/emoji/emoji_1f602.png" alt="??" />
Mehr Emoji -Ersatz <br> $ emoji_map kann auf mehr Emoji -Korrespondenz mit Bildern erweitert oder aus der Datenbank gelesen werden.
Leistungsoptimierung <br> Wenn es viele Arten von Emoji gibt und die Effizienz der Substitution niedrig ist, können Sie in Betracht ziehen, effizientere reguläre Ausdrücke oder einmalige Substitution zu verwenden.
UTF-8-Umgebungskonfiguration <br> Stellen Sie sicher, dass die PHP-Umgebung eine Mbstring-Erweiterung aktiviert hat und die korrekte Zeichenkodierung (normalerweise UTF-8) festgelegt ist, um Emoji-Erkennungsfehler zu vermeiden.
Benutzerdefinierter Bildstil <br> Sie können dem <img> Tag CSS-Klassen oder -stile hinzufügen, um die benutzerdefinierten Auswirkungen auf die Front-End-Anzeige zu ermöglichen.