Intelligente Anführungszeichen sind typografische Zeichen, die anstelle normaler gerader Anführungszeichen (' und ") verwendet werden. Sie sorgen für ein verfeinertes und... Es kommt jedoch häufig vor, dass Softwareanwendungen Probleme mit der Konvertierung zwischen verschiedenen Arten von Anführungszeichen haben, was zu Inkonsistenzen führt.
Die Schwierigkeit bei der Konvertierung intelligenter Anführungszeichen ergibt sich aus der Vielfalt der Kodierungen und Zeichen, die zu ihrer Darstellung verwendet werden. Verschiedene Betriebssysteme und Softwareprogramme verwenden ihre eigenen Standards, was beispielsweise zu einer fragmentierten Landschaft von Anführungszeichen führt. Ein System verwendet möglicherweise Unicode, während ein anderes möglicherweise die Windows-Codepage 1252 verwendet.
Um dieser Herausforderung zu begegnen, wurde eine umfassende Funktion zur intelligenten Anführungszeichenkonvertierung bereitgestellt in PHP erfordert ein gründliches Verständnis der verschiedenen Kodierungen und Zeichen. Es sollte in der Lage sein, alle Variationen intelligenter Anführungszeichen zu verarbeiten, einschließlich der in Unicode, Windows-Codepage 1252 und anderen älteren Kodierungen definierten.
Die folgende optimierte PHP-Implementierung wandelt alle Arten von intelligenten Anführungszeichen in reguläre Anführungszeichen um:
function convert_smart_quotes($string)
{
// Create a map of smart quote characters to their respective Unicode representations
$smart_quotes = array(
"\xC2\xAB" => '"', // « (U 00AB)
"\xC2\xBB" => '"', // » (U 00BB)
"\xE2\x80\x98" => "'", // ‘ (U 2018)
"\xE2\x80\x99" => "'", // ’ (U 2019)
"\xE2\x80\x9A" => "'", // ‚ (U 201A)
"\xE2\x80\x9B" => "'", // ‛ (U 201B)
"\xE2\x80\x9C" => '"', // “ (U 201C)
"\xE2\x80\x9D" => '"', // ” (U 201D)
"\xE2\x80\x9E" => '"', // „ (U 201E)
"\xE2\x80\x9F" => '"', // ‟ (U 201F)
"\xE2\x80\xB9" => "'", // ‹ (U 2039)
"\xE2\x80\xBA" => "'", // › (U 203A)
);
// Strtr function can directly replace the smart quote characters with their Unicode counterparts
$converted_string = strtr($string, $smart_quotes);
// Return the converted string
return $converted_string;
}
Diese Funktion deckt ein breites Spektrum intelligenter Anführungszeichenvariationen ab, einschließlich derjenigen, die in Unicode, der Windows-Codepage 1252 und älteren Kodierungen zu finden sind. Durch die Verwendung von strtr werden alle Instanzen intelligenter Anführungszeichen durch ihre entsprechenden Unicode-Darstellungen ersetzt, was zu einem konsistenten und standardisierten Text führt.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3