Während der Entwicklung von PHP werden häufig Probleme mit unterschiedlichen Kodierungen und Charaktersätzen auftreten. Die Funktion mb_decode_numericalentity () ist eine sehr praktische Funktion in der Mbstring -Erweiterungsbibliothek. Es kann numerische Zeicheneinheiten in HTML in entsprechende Zeichen umwandeln. Für PHP -Entwickler, die sich mit mehreren Sprachcodierung befassen müssen, können wir mit mb_decode_numericalEntity () das Verständnis und eine gute Verwendung von komplexen Problemen mit dem Charakter -Flucht effizient bewältigen.
In HTML werden Zeicheneinheiten normalerweise verwendet, um einige Sonderzeichen wie & amp; Mittel & lt; bedeutet < . Diese Charaktereinheiten beginnen mit & enden mit ; Manchmal sehen wir auch Zeicheneinheiten in Form von Zahlen, z. B. " die Zeichen A darstellen und " das Urheberrechtsymbol darstellen " . Diese numerischen Zeicheneinheiten können gemäß der angegebenen Codierung dekodiert werden, und MB_Decode_NumericalEntity () wird verwendet, um diese Funktion zu implementieren.
<span><span><span class="hljs-title function_ invoke__">mb_decode_numericentity</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span> , </span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$convmap</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span> ) : </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
$ str : Die Eingabezeichenfolge enthält die numerische Zeicheneinheit.
$ concmap : Ein Array, das definiert, welche Zeicheneinheiten in welche Zeichen umgewandelt werden müssen. Das Format dieses Arrays ist ein Drei-Elemente-Array, von dem jeweils die Start- und Endbereiche der Charakterentität sowie die entsprechenden Zielzeichenset darstellt.
$ codierung : Gibt das Codierungsformat an, das häufig verwendet wird, UTF-8 , ISO-8859-1 usw.
Angenommen, wir haben eine Zeichenfolge, die einige numerische Zeicheneinheiten enthält:
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello &#65;&#66;&#67; World!"</span></span><span>;
</span></span>
Wir wollen " und " zurück zu den entsprechenden Zeichen A , B und C drehen, und wir können mb_decode_numericalEntity () verwenden:
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello &#65;&#66;&#67; World!"</span></span><span>;
</span><span><span class="hljs-variable">$convmap</span></span><span> = </span><span><span class="hljs-keyword">array</span></span><span>(</span><span><span class="hljs-number">0x30</span></span><span>, </span><span><span class="hljs-number">0x39</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0x7F</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0x7F</span></span><span>); </span><span><span class="hljs-comment">// Digitaler Bereich:0ankommen9</span></span><span>
</span><span><span class="hljs-variable">$decoded_str</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_decode_numericentity</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$convmap</span></span><span>, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$decoded_str</span></span><span>; </span><span><span class="hljs-comment">// Ausgabe: Hello ABC World!</span></span><span>
</span></span>
Im obigen Beispiel geben wir den numerischen Bereich der Zeicheneinheiten 0 bis 9 an, um die Zeicheneinheiten zu dekodieren, und die ' , ' und ' werden korrekt in A , B und C konvertiert.
$ cprmap : Dieser Parameter ist ein Array, das die Konvertierungsregeln für numerische Zeicheneinheiten bestimmt. Es besteht aus einer Reihe von vier Elementen, von denen jede eine Charakterkonvertierungsregel darstellt. Zum Beispiel:
Die erste Zahl repräsentiert den Startbereich der Charakterentität.
Die zweite Zahl repräsentiert den Endbereich der Charakterentität.
Die dritte Zahl ist der Startwert der Zeichenumwandlung, die dem Bereich entspricht.
Die vierte Zahl ist der Endwert der Zeichenkonvertierung, der dem Bereich entspricht.
$ codierung : Dieser Parameter ist sehr wichtig, da er das Codierungsformat der Ausgabezeichenfolge definiert. Wenn Sie sich mit UTF-8-codiertem Text befassen, sollte er auf UTF-8 eingestellt werden. Wenn es sich um ISO-8859-1 codiert, sollte es auf ISO-8859-1 eingestellt werden.
Analyse und Verarbeitung von HTML -Inhalten :
In der Webentwicklung enthalten HTML -Seiten häufig verschiedene HTML -Entitäten, insbesondere einige Zeichen, die spezielle Symbole enthalten oder entkommen müssen. Durch die Verwendung von mb_decode_numericalEntity () können wir diese Zeicheneinheiten effektiv auf normale Zeichen für Anzeigen oder Speicher auf der Seite wiederherstellen.
Empfangen Sie codierten Daten aus einem externen System :
Manchmal müssen Entwickler Daten mit externen Systemen austauschen, die Textdaten in numerische Zeicheneinheiten umwandeln können. Mit mb_decode_numericalEntity () können wir diese Zeicheneinheiten leicht wieder den ursprünglichen Zeichen zurückweisen.
Zeichensatzkompatibilität für mehrsprachige Websites :
Während der mehrsprachigen Website -Entwicklung können Charaktereinheiten in verschiedenen Codierungsformaten auftreten. MB_DECODE_NUMERICALENTITY () ermöglicht es uns, Zeicheneinheiten in verschiedenen Sprachen in einem einheitlichen Codierungsformat zu verarbeiten, um sicherzustellen, dass Zeichen in verschiedenen Sprachen korrekt angezeigt werden können.
Die Funktion mb_decode_numericalentity () ist ein sehr nützliches Werkzeug, insbesondere in Szenarien, in denen Zeicheneinheiten behandelt werden müssen. Es ermöglicht Entwicklern, HTML-Numeric-Charakter-Entitäten in Originalzeichen zu dekodieren, unterstützt mehrere Charakterecodierung, ist hoch flexibel und wird in Anwendungsszenarien wie Webentwicklung, Cross-System-Datenaustausch und mehrsprachigen Websites häufig verwendet. Das Beherrschen der grundlegenden Nutzungsmethoden dieser Funktion kann die Entwicklungseffizienz und die Robustheit der Entwicklung erheblich verbessern.