Смарт-кавычки — это типографские знаки, используемые вместо обычных прямых кавычек («и»). безупречный вид текста Однако программным приложениям часто приходится сталкиваться с трудностями при преобразовании между различными типами интеллектуальных кавычек, что приводит к ошибкам. несоответствия.
Трудность преобразования смарт-кавычек возникает из-за разнообразия кодировок и символов, используемых для их представления. В результате различные операционные системы и программы используют свои собственные стандарты. во фрагментированном ландшафте символов кавычек. Например, одна система может использовать Unicode, а другая — кодовую страницу Windows 1252.
Чтобы решить эту проблему, комплексная функция преобразования интеллектуальных кавычек в PHP требует глубокого понимания различных используемых кодировок и символов. Она должна быть в состоянии обрабатывать все варианты интеллектуальных кавычек, включая те, которые определены в . Unicode, кодовая страница Windows 1252 и другие устаревшие кодировки.
Следующая оптимизированная реализация 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, он заменяет все экземпляры смарт-кавычек их соответствующими представлениями в Юникоде, в результате чего получается единообразный и стандартизированный текст.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3