Intelligente Anführungszeichen in PHP konvertieren: Eine umfassende Lösung
Intelligente Anführungszeichen sind typografische Zeichen, die verwendet werden, um direkte Sprache oder Zitate im Text anzuzeigen. Sie können die Lesbarkeit verbessern und dem geschriebenen Inhalt Nuancen verleihen. Die Arbeit mit intelligenten Anführungszeichen in Programmiersprachen wie PHP erfordert jedoch eine ordnungsgemäße Handhabung, um eine genaue Anzeige und Konvertierung sicherzustellen.
Problemstellung
Die bereitgestellte PHP-Funktion zielt darauf ab, verschiedene Typen zu konvertieren von intelligenten Anführungszeichen zu regulären (geraden) Anführungszeichen. Es fehlt jedoch eine umfassende Unterstützung für den Umgang mit allen Angebotsvarianten. Die Herausforderung besteht darin, alle möglichen Unicode-Zeichen zu identifizieren, die intelligente Anführungszeichen darstellen, und einen robusten Konvertierungsmechanismus zu implementieren.
Lösung
Um alle Arten von intelligenten Anführungszeichen effektiv zu konvertieren, benötigen wir um eine umfassende Zuordnung zwischen den verschiedenen Unicode-Zeichen und ihren entsprechenden regulären Anführungszeichen-Gegenstücken zu erstellen. Der folgende Codeausschnitt bietet eine erweiterte Lösung:
<code class="php">$chr_map = array( // Windows codepage 1252 "\xC2\x82" => "'", // U+0082⇒U+201A single low-9 quotation mark "\xC2\x84" => '"', // U+0084⇒U+201E double low-9 quotation mark "\xC2\x8B" => "'", // U+008B⇒U+2039 single left-pointing angle quotation mark "\xC2\x91" => "'", // U+0091⇒U+2018 left single quotation mark "\xC2\x92" => "'", // U+0092⇒U+2019 right single quotation mark "\xC2\x93" => '"', // U+0093⇒U+201C left double quotation mark "\xC2\x94" => '"', // U+0094⇒U+201D right double quotation mark "\xC2\x9B" => "'", // U+009B⇒U+203A single right-pointing angle quotation mark // Regular Unicode "\xC2\xAB" => '"', // U+00AB left-pointing double angle quotation mark "\xC2\xBB" => '"', // U+00BB right-pointing double angle quotation mark "\xE2\x80\x98" => "'", // U+2018 left single quotation mark "\xE2\x80\x99" => "'", // U+2019 right single quotation mark "\xE2\x80\x9A" => "'", // U+201A single low-9 quotation mark "\xE2\x80\x9B" => "'", // U+201B single high-reversed-9 quotation mark "\xE2\x80\x9C" => '"', // U+201C left double quotation mark "\xE2\x80\x9D" => '"', // U+201D right double quotation mark "\xE2\x80\x9E" => '"', // U+201E double low-9 quotation mark "\xE2\x80\x9F" => '"', // U+201F double high-reversed-9 quotation mark "\xE2\x80\xB9" => "'", // U+2039 single left-pointing angle quotation mark "\xE2\x80\xBA" => "'", // U+203A single right-pointing angle quotation mark ); $chr = array_keys ($chr_map); $rpl = array_values($chr_map); $str = str_replace($chr, $rpl, html_entity_decode($str, ENT_QUOTES, "UTF-8"));</code>
Diese erweiterte Version berücksichtigt sowohl die Windows-Codepage 1252 als auch reguläre Unicode-Zeichen und gewährleistet so eine umfassende Konvertierung.
Zusätzliche Überlegungen
Indem Sie diese Richtlinien befolgen, können Sie einen robusten und umfassenden intelligenten Angebotskonvertierungsmechanismus in PHP implementieren, der eine genaue Verarbeitung verschiedener Angebotsvarianten gewährleistet.
Das obige ist der detaillierte Inhalt vonWie kann man in PHP intelligente Anführungszeichen effektiv in reguläre Anführungszeichen umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!