Bei der Verarbeitung von Multibyte-Zeichenfolgen in PHP sind häufig von Fall unempfindliche Ersatzvorgänge erforderlich. MB_Eregi_Replace ist eine sehr praktische Funktion, mit der Fall-unempfindlicher regelmäßiger Ausdrucksersatz implementiert werden kann, was besonders für Multi-Byte-Zeichen wie Chinesen geeignet ist. In diesem Artikel wird vorgestellt, wie Sie die Funktion mb_eregi_replace und das HTML <mark> -Tag kombinieren, um Schlüsselwörtern im Text hervorzuheben.
MB_Eregi_Replace ist eine der Multibyte-String-Funktionen von PHP, und seine Funktion besteht darin, einen regelmäßigen Ersatz für den Fall durchzuführen. Seine Syntax ist wie folgt:
mb_eregi_replace(string $pattern, string $replacement, string $string, ?string $option = null): string
$ muster : Der reguläre Ausdruck, der übereinstimmt (Fall unempfindlich)
$ Ersatz : Ersetzte Zeichenfolge
$ String : Die String wird durchsucht
$ Option : Optionaler Parameter zur Steuerung des Übereinstimmungsverhaltens
Es unterstützt Multi-Byte-Charaktere und eignet sich für die Textverarbeitung in chinesischen, japanischen, koreanischen und anderen Sprachen.
Das HTML5 <Mark> -Tag wird speziell zum Markierung von Text verwendet, der hervorgehoben werden muss. Der Browser verwendet einen gelben Hintergrund, um den markierten Inhalt standardmäßig anzuzeigen, der für das Schlüsselwort -Hervorhebung sehr geeignet ist.
Zum Beispiel:
Dies ist a <mark>Highlight</mark> Worte von。
Das Wort "Highlight" wird auf der Seite mit einem gelben Hintergrund angezeigt.
Im Folgenden ist ein Beispielcode, der demonstriert, wie Sie mit MB_Eregi_Replace die angegebenen Schlüsselwörter mit dem <mark> -T -Tag einwickeln, um einen Hervorhebungseffekt zu erzielen.
<?php
// Beispieltext
$text = "PHP Es ist eine sehr beliebte serverseitige Skriptsprache。PHP Unterstützt mehrere Programmierparadigmen。";
// 需要Highlight的关键词(Es kann vielfältig sein,verwenden|Trennung)
$keywords = "php|Serverseite";
// Regelmäßige Ausdrücke bauen,使verwenden括号捕获关键词本身,Fall ignorieren
$pattern = "(" . $keywords . ")";
// 使verwenden mb_eregi_replace Machen Sie Fall-unempfindliche Ersetzungen,Keywords hinzufügen <mark> Etikett
$highlightedText = mb_eregi_replace(
$pattern,
"<mark>\\1</mark>",
$text
);
// 输出Highlight后的文本
echo $highlightedText;
?>
Beispiel für das Laufergebnis:
<mark>PHP</mark> Es ist sehr beliebt<mark>Serverseite</mark>Skriptsprache。<mark>PHP</mark> Unterstützt mehrere Programmierparadigmen。
Auf diese Weise wird das Schlüsselwortteil auf der Seite mit dem <mark> -Tag eingeschlossen, wodurch das Hervorheben erreicht wird.
Die Übereinstimmung von MB_Eregi_Replace ist von Fall unempfindlich und für Szenarien geeignet, in denen fuzzy-passende Schlüsselwörter erforderlich sind.
Schlüsselwörter in regulären Ausdrücken müssen durch Rohrzeichen getrennt werden | die Beziehung von "oder" darstellen.
Wenn das Schlüsselwort Sonderzeichen enthält, muss es zunächst entkommen, um die regelmäßige Übereinstimmung zu vermeiden.
Stellen Sie sicher, dass die Mbstring -Erweiterung in der PHP -Umgebung aktiviert ist, um sicherzustellen, dass die Verarbeitung von Multibyte -String korrekt ist.
Angenommen, Sie haben die folgende Beispiel -Webadresse und müssen einige der Schlüsselwörter ersetzen:
<?php
$text = "Besuchen Sie unsere offizielle Website https://m66.net/ Erfahren Sie mehr。";
// Highlight “m66.net”
$keywords = "m66\\.net";
$pattern = "(" . $keywords . ")";
$highlightedText = mb_eregi_replace(
$pattern,
"<mark>\\1</mark>",
$text
);
echo $highlightedText;
?>
Nach der Ausführung wird "M66.net" hervorgehoben.
Durch die obige Einführung können Sie einfach die Tags mb_eregi_replace und <mark> verwenden, um den Schlüsselwörtern im Text Highlight -Effekte hinzuzufügen, um die Lesbarkeit und Benutzererfahrung des Inhalts zu verbessern.