<span><span><span class="hljs-title function_ invoke__">mb_internal_encoding</span></span><span>(</span><span><span class="hljs-string">"UTF-8"</span></span><span>); </span><span><span class="hljs-comment">// Stellen Sie die interne Zeichenkodierung fest</span></span><span>
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">"[,,]+"</span></span><span>; </span><span><span class="hljs-comment">// Passen Sie englische Kommas und chinesische Kommas an,Ein oder mehrere aufeinanderfolgende</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_split</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span></span>
Ausgangsergebnis:
<span><span>Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => Apfel
[</span><span><span class="hljs-meta">1</span></span><span>] => Banane
[</span><span><span class="hljs-meta">2</span></span><span>] => Mandarine
[</span><span><span class="hljs-meta">3</span></span><span>] => Traube
[</span><span><span class="hljs-meta">4</span></span><span>] => Wassermelone
)
</span></span>
MB_SPLIT erkennt das chinesische Komma automatisch und vervollständigt die String -Segmentierung korrekt.
In einigen komplexen Szenarien möchten wir zuerst bestimmen, ob es in der Zeichenfolge ein bestimmtes Muster gibt, und dann segmentieren. Sie können mb_ereg verwenden:
<span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">mb_ereg</span></span><span>(</span><span><span class="hljs-string">"[,,]"</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>)) {
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_split</span></span><span>(</span><span><span class="hljs-string">"[,,]+"</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-variable">$result</span></span><span> = [</span><span><span class="hljs-variable">$text</span></span><span>]; </span><span><span class="hljs-comment">// Keine Notwendigkeit zur Aufteilung</span></span><span>
}
</span></span>
Dies kann unnötige Segmentierungsvorgänge vermeiden und die Effizienz verbessern.
Unified Character Codierung: Verwenden Sie MB_Internal_encoding ("UTF-8"), um sicherzustellen, dass die Funktionen von UTF-8 einheitlich codiert werden, um verstümmelten Code zu vermeiden.
Regelmäßiger Modus schreiben: Die reguläre Expressionssyntax von Mbstring unterscheidet sich geringfügig. Achten Sie auf die korrekte Verwendung von quadratischen Klammern und entkommenen Zeichen.
Leistungsüberlegungen: Wenn Sie mehrere reguläre Übereinstimmungen an große Texte durchführen, kann die Kombination von MB_EREG für die Beurteilung und dann die Segmentierung die Effizienz verbessern.
Indem wir MB_Ereg und Mb_split vernünftigerweise kombinieren, können wir:
Behandeln Sie die multibyte -codierte String -Segmentierung genau
Flexible Unterstützung für mehrere Separatoren
Die Leistung unter Bedingungen vor dem Spiel optimieren
Wenn Sie diese Fähigkeiten beherrschen, können Sie sich beim Umgang mit mehrsprachigen Texten wohl fühlen und häufige Fehlern für verstümmelte Code und Segmentierung vermeiden.
Beispiel vollständiger Code:
<span><span><span class="hljs-title function_ invoke__">mb_internal_encoding</span></span><span>(</span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"Apfel,Banane,Mandarine,Traube,Wassermelone"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">mb_ereg</span></span><span>(</span><span><span class="hljs-string">"[,,]"</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>)) {
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_split</span></span><span>(</span><span><span class="hljs-string">"[,,]+"</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-variable">$result</span></span><span> = [</span><span><span class="hljs-variable">$text</span></span><span>];
}
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span></span>
Nach dem Laufen können Sie das richtige Split -Ergebnis erhalten.