Les guillemets intelligents sont des marques typographiques utilisées à la place des guillemets droits réguliers (' et "). Ils donnent un aspect plus raffiné et aspect soigné du texte. Cependant, il est courant que les applications logicielles aient du mal à convertir entre différents types de guillemets intelligents, ce qui entraîne des incohérences.
La difficulté de convertir les guillemets intelligents provient de la variété des encodages et des caractères utilisés pour les représenter. Différents systèmes d'exploitation et logiciels utilisent leurs propres normes, ce qui entraîne un paysage fragmenté de caractères de guillemets, par exemple. système peut utiliser Unicode, tandis qu'un autre peut utiliser la page de codes Windows 1252.
Pour relever ce défi, une fonction complète de conversion de devis intelligent en PHP nécessite un compréhension approfondie des différents encodages et caractères impliqués. Il devrait être capable de gérer toutes les variantes de guillemets intelligents, y compris ceux définis dans Unicode, la page de codes Windows 1252 et d'autres encodages hérités.
L'implémentation PHP optimisée suivante convertit tous les types de guillemets intelligents en guillemets réguliers :
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;
}
Cette fonction couvre un large éventail de variantes de guillemets intelligents, y compris celles trouvées dans Unicode, la page de codes Windows 1252 et les encodages hérités. En utilisant strtr, il remplace toutes les instances de guillemets intelligents par leurs représentations Unicode correspondantes, ce qui donne un texte cohérent et standardisé.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3