«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как конвертировать все типы смарт-кавычек в PHP?

Как конвертировать все типы смарт-кавычек в PHP?

Опубликовано 26 декабря 2024 г.
Просматривать:142

How to Convert All Types of Smart Quotes in PHP?

Преобразование всех типов смарт-кавычек в PHP

Смарт-кавычки — это типографские знаки, используемые вместо обычных прямых кавычек («и»). безупречный вид текста Однако программным приложениям часто приходится сталкиваться с трудностями при преобразовании между различными типами интеллектуальных кавычек, что приводит к ошибкам. несоответствия.

Проблемы преобразования смарт-кавычек

Трудность преобразования смарт-кавычек возникает из-за разнообразия кодировок и символов, используемых для их представления. В результате различные операционные системы и программы используют свои собственные стандарты. во фрагментированном ландшафте символов кавычек. Например, одна система может использовать Unicode, а другая — кодовую страницу Windows 1252.

Комплексный. Преобразование с помощью PHP

Чтобы решить эту проблему, комплексная функция преобразования интеллектуальных кавычек в PHP требует глубокого понимания различных используемых кодировок и символов. Она должна быть в состоянии обрабатывать все варианты интеллектуальных кавычек, включая те, которые определены в . Unicode, кодовая страница Windows 1252 и другие устаревшие кодировки.

Оптимизированная реализация PHP

Следующая оптимизированная реализация 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;
}

Эта функция охватывает широкий спектр вариантов интеллектуальных кавычек, включая те, которые встречаются в Юникоде, кодовой странице Windows 1252 и устаревших кодировках. Используя strtr, он заменяет все экземпляры смарт-кавычек их соответствующими представлениями в Юникоде, в результате чего получается единообразный и стандартизированный текст.

Заявление о выпуске Эта статья перепечатана по адресу: 1729550719. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3