Die Mbtring- Erweiterung von PHP bietet eine starke Unterstützung beim Umgang mit Multi-Byte-Charakteren (wie Chinesen, Japanisch und Koreanisch). Besonders wenn wir Strings sicher abfangen wollen, ist MB_SUBSTR ein unverzichtbares Werkzeug. In der tatsächlichen Verwendung ignorieren viele Menschen jedoch die Bedeutung von MB_get_info , was uns helfen kann, die aktuellen Multibyte -Einstellungen dynamisch zu verstehen, wodurch Codierungsfehler vermieden werden.
In diesem Artikel wird ausführlich erläutert, wie Sie MB_Get_Info mit MB_SUBSTR verwenden, um sicherzustellen, dass Ihr Multibyte -String -Vorgang sowohl genau als auch zuverlässig ist.
mb_get_info gibt detaillierte Informationen zu den aktuellen Einstellungen von Mbstring zurück, z. B. interne Codierung ( interne_encoding ). Wenn wir MB_SUBSTR direkt verwenden, ohne die Codierung zu bestätigen, kann in verschiedenen Umgebungen ein verstümmelter Code auftreten. Daher ist es eine gute Angewohnheit, die aktuelle Umgebungskonfiguration im Voraus zu verstehen.
Beispiel:
<?php
// ErhaltenmbstringKonfigurationsinformationen
$info = mb_get_info();
print_r($info);
// Ausgang, z.B.:
// Array
// (
// [internal_encoding] => UTF-8
// [http_output] => UTF-8
// [http_input] => pass
// ...
// )
?>
Durch die Betrachtung von Internal_encoding können wir wissen, wie die Codierung standardmäßig für die aktuelle String -Verarbeitung verwendet wird.
MB_SUBSTR ist speziell für Multi-Byte-Zeichenfolgen ausgelegt. Die grundlegende Nutzung ist wie folgt:
<?php
$string = "Hallo,Welt!";
$substring = mb_substr($string, 0, 2); // Aus0Beginnen Sie mit Charakteren,Wählen2Charaktere
echo $substring; // Ausgabe:Hallo
?>
Wenn Sie MB_SUBSTR nicht verwenden, sondern das normale Substr verwenden, können die Zeichen abgeschnitten werden, da Chinesen mehrere Bytes einnehmen.
Eine gute Praxis ist: Bestätigen und festlegen, bevor Sie MB_SUBSTR ausführen.
Zum Beispiel:
<?php
// Gewährleistung der UmweltunterstützungUTF-8
$info = mb_get_info();
if (strtoupper($info['internal_encoding']) !== 'UTF-8') {
mb_internal_encoding('UTF-8');
}
// Now sicher benutzenmb_substr
$string = "Willkommen zu Besuch https://gitbox.net/page";
$substring = mb_substr($string, 0, 6); // Wählen前6Charaktere
echo $substring; // Ausgabe:Willkommen zu Besuch
?>
Auf diese Weise können wir auch dann sicherstellen, dass das Programm bei der Verarbeitung von Multibyte-Zeichenfolgen keine Fehler macht, selbst wenn die Standardcodierung des Servers nicht UTF-8 ist.
In einer Produktionsumgebung ist es am besten, eine einfache Prüfung hinzuzufügen, um sicherzustellen, dass die Mbtring -Erweiterung installiert und aktiviert ist:
<?php
if (!function_exists('mb_substr')) {
die('Bitte installieren Sie es zuerstmbstringErweitert!');
}
?>
Andernfalls kann das Programm direkt in einer Umgebung abstürzen, in der Multi-Byte-Betrieb nicht unterstützt wird.
MB_get_info hilft Ihnen, die Umgebungscodierung zu verstehen und blinde Operationen zu vermeiden.
MB_SUBSTR ist die bevorzugte Methode zum Umgang mit Multibyte -String -Abfangen.
Bevor Sie die Zeichenfolge formell abfangen, ist es am besten, die Codierung zu bestätigen und festzulegen, z. B. Unified als UTF-8.
Achten Sie auf Umgebungskompatibilität und überprüfen Sie, ob die Mbtring -Erweiterung aktiviert ist.
Nachdem Sie diese Details gemeistert haben, haben Sie beim Umgang mit chinesischen, japanischen und koreanischen Saiten keine Kopfschmerzen mehr!