Comment convertir tous les types de citations intelligentes en PHP ?

Barbara Streisand
Libérer: 2024-10-22 06:47:02
original
911 Les gens l'ont consulté

How to Convert All Types of Smart Quotes in PHP?

Convertir tous les types de guillemets intelligents en PHP

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 raffiné 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.

Défis liés à la conversion de guillemets intelligents

La difficulté de convertir les guillemets intelligents. découle de la variété des codages 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, un système peut utiliser Unicode, tandis qu'un autre peut utiliser la page de codes Windows 1252.

Conversion complète avec PHP

Pour relever ce défi, une fonction complète de conversion de guillemets intelligents en PHP nécessite une compréhension approfondie des différents encodages et caractères impliqués. Elle doit ê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.

Implémentation PHP optimisée

L'implémentation PHP optimisée suivante convertit tous les types de guillemets intelligents en guillemets réguliers :

<code class="php">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;
}</code>
Copier après la connexion

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é.

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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!