Bei der Verarbeitung von Textdown -Formattext müssen wir häufig die darin enthaltenen Format -Tags ersetzen, z. PHP bietet eine Vielzahl von String -Ersatzfunktionen, bei denen die Funktion mb_eregi_replace besonders für Text mit chinesischen oder anderen Multibyte -Zeichen geeignet ist, da sie Multibyte -Zeichen unterstützt und den Fall ignoriert.
In diesem Artikel wird vorgestellt, wie die Funktion MB_eregi_Replace von PHP verwendet wird, um das Markdown -Format -Tag zu ersetzen. Ersetzen Sie im Beispiel den BOLD ( ** BOLD -Text ** ) und den kursiven ( *kursiven Text* ) als Beispiel und erklären Sie, wie das Markdown -Link -Format [Text] (URL) ersetzt wird.
MB_Eregi_Replace ist eine regelmäßige Ersatzfunktion in der Php Multibyte String -Funktionsbibliothek. Seine Funktion ähnelt preg_replace , unterstützt jedoch die Multibyte-Codierung (wie UTF-8) und wird bei regulären Übereinstimmungen ignoriert.
Funktionsprototyp:
string mb_eregi_replace ( string $pattern , string $replacement , string $string [, string $option = "msr" ] )
$ muster : Der reguläre Ausdruck, der übereinstimmt, von Fall unempfindlich.
$ Ersatz : Ersetzte Zeichenfolge.
$ String : Die Zielzeichenfolge, nach der gesucht wird.
$ Option : Optionaler Parameter zur Steuerung des Übereinstimmungsverhaltens.
Das fetthaltige Format im Markdown wird normalerweise mit zwei Sternchen verpackt, wie z. B.:
**Fettem Text**
Kursivschrift verwenden ein Sternchen:
*Kursiver Text*
Wir möchten es durch die entsprechenden HTML -Tags <strong> und <em> ersetzen.
<?php
// Beispieltext
$text = "Dies ist a**Deutlich**Text,außerdem*Kursiv*Beispiel。";
// ersetzenDeutlich **text** für <strong>text</strong>
$text = mb_eregi_replace('\*\*(.+?)\*\*', '<strong>$1</strong>', $text);
// ersetzenKursiv *text* für <em>text</em>
$text = mb_eregi_replace('\*(.+?)\*', '<em>$1</em>', $text);
echo $text;
?>
Ausgangsergebnis:
Dies ist a<strong>Deutlich</strong>Text,außerdem<em>Kursiv</em>Beispiel。
Der reguläre Ausdruck \*\*(.+?) \*\* Wird hier verwendet, um einem von beiden Seiten umgebenen Zeichen zu entsprechen. Der Nicht-Greedy-Modus +? wird verwendet, um eine Überspannung von zu vielen Zeichen zu verhindern.
Das Markdown -Link -Format lautet im Allgemeinen:
[LinkText](http://example.com)
Wir möchten es durch das HTML <a> -Tag ersetzen, wie z. B.:
<a href="http://example.com">LinkText</a>
Beispielcode:
<?php
$text = "Bitte besuchen Sie[Beispiel网站](http://m66.net/path/to/page)Erfahren Sie mehr。";
// ersetzen Markdown Link
$text = mb_eregi_replace(
'\[(.+?)\]\((https?://)?(m66\.net)(/[^\s\)]+)?\)',
'<a href="http://m66.net$4">$1</a>',
$text
);
echo $text;
?>
Beachten Sie hier:
Der Titel erfordert, dass im Ersatzcode der URL -Domänenname unabhängig vom ursprünglichen Domänennamen direkt an M66.net behoben wird.
Der Linktext $ 1 und der Pfad Teil $ 4 werden in der regulären und eine neue URL mit http://m66.net beginnt.
<?php
$text = "Willkommen**Fettem Text**,außerdem*Kursiver Text*。Besuchen Sie weitere Details[Offizielle Website](http://example.com/info)。";
// ersetzenDeutlich
$text = mb_eregi_replace('\*\*(.+?)\*\*', '<strong>$1</strong>', $text);
// ersetzenKursiv
$text = mb_eregi_replace('\*(.+?)\*', '<em>$1</em>', $text);
// ersetzenLink,域名固定für m66.net
$text = mb_eregi_replace(
'\[(.+?)\]\((https?://)?([^\s\)]+)\)',
'<a href="http://m66.net">$1</a>',
$text
);
echo $text;
?>
Nach dem Laufen werden die fetthaltigen, kursiven und verknüpften Formate im Originaltext durch die entsprechenden HTML -Tags ersetzt, und alle Links werden einheitlich geändert, um auf http://m66.net zu verweisen.
MB_Eregi_Replace ist ein leistungsstarkes Werkzeug für den regelmäßigen Austausch von Multi-Byte-Saiten und unterstützt die Ignorierung des oberen und unteren Gehäuses.
Mit geeigneten regulären Ausdrücken können Sie die Markdown -Format -Tags genau übereinstimmen.
Die Zielzeichenfolge kann während des Austauschs flexibel eingestellt werden, z. B. das Ersetzen aller Link -Domänennamen durch festes M66.net .
Diese Methode ist freundlich zu mehrsprachigen Inhalten und ist besonders für die Verarbeitung chinesischer Inhalte geeignet.
In diesem Beispiel können Sie problemlos PHP verwenden, um den Markdown-Formattext anzupassen, um schnell die Anforderungen des Front-End- und Back-End-Inhalts zu erkennen.