Conversion de diverses citations intelligentes en PHP
Les citations intelligentes sont des variantes courantes des guillemets standard qui sont utilisés en typographie pour améliorer la lisibilité et l'esthétique. attrait du texte. Pour garantir la conversion correcte de ces guillemets intelligents en guillemets normaux lorsque vous travaillez avec du texte, il est essentiel de prendre en compte la diversité des caractères de guillemets intelligents utilisés dans différents contextes.
Fonction améliorée pour la conversion de guillemets intelligents :
La fonction améliorée suivante corrige les lacunes de la fonction d'origine que vous avez fournie en incorporant un mappage complet pour divers caractères de guillemets intelligents. Il exploite à la fois une carte de caractères ($chr_map) et des tableaux pré-calculés ($chr et $rpl) pour une efficacité optimale :
<code class="php">$chr_map = array( "\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 "\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); // but: for efficiency you should $rpl = array_values($chr_map); // pre-calculate these two arrays $str = str_replace($chr, $rpl, html_entity_decode($str, ENT_QUOTES, "UTF-8"));</code>
Cette fonction améliorée utilise une approche compatible Unicode, couvrant une gamme complète de caractères de guillemets intelligents. En exploitant des tableaux précalculés, il maintient un haut niveau d'efficacité tout en garantissant une conversion précise des devis intelligents en devis standard.
Considérations supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!