"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحويل جميع أنواع الاقتباسات الذكية في PHP؟

كيفية تحويل جميع أنواع الاقتباسات الذكية في PHP؟

تم النشر بتاريخ 2024-12-26
تصفح:959

How to Convert All Types of Smart Quotes in PHP?

تحويل جميع أنواع علامات الاقتباس الذكية في PHP

علامات الاقتباس الذكية هي علامات مطبعية تستخدم بدلاً من علامات الاقتباس المستقيمة العادية (' و "). إنها تعطي صورة أكثر دقة ودقة نظرة مصقولة للنص، ومع ذلك، فمن الشائع أن تواجه التطبيقات البرمجية صعوبة في التحويل بين أنواع مختلفة من علامات الاقتباس الذكية، مما يؤدي إلى حالات عدم الاتساق.

التحديات في الاقتباس الذكي. التحويل

تنشأ صعوبة تحويل علامات الاقتباس الذكية من تنوع الترميزات والأحرف المستخدمة لتمثيلها. تستخدم أنظمة التشغيل والبرامج المختلفة معاييرها الخاصة، مما يؤدي إلى مشهد مجزأ من أحرف الاقتباس، على سبيل المثال قد يستخدم نظام Unicode، بينما قد يستخدم نظام آخر صفحة الرموز Windows 1252.

تحويل شامل باستخدام PHP

ولمواجهة هذا التحدي، توجد وظيفة تحويل عرض أسعار ذكية شاملة في تتطلب لغة PHP فهمًا شاملاً للتشفيرات والأحرف المختلفة المعنية، ويجب أن تكون قادرة على التعامل مع كافة أشكال علامات الاقتباس الذكية، بما في ذلك تلك المحددة في Unicode وWindows codepage 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;
}
تغطي هذه الوظيفة نطاقًا واسعًا من تنوعات علامات الاقتباس الذكية، بما في ذلك تلك الموجودة في Unicode وWindows codepage 1252 والترميزات القديمة. باستخدام strtr، فإنه يستبدل كافة مثيلات علامات الاقتباس الذكية بتمثيلات Unicode المقابلة لها، مما يؤدي إلى نص متسق وموحد.

بيان الافراج أعيد طبع هذه المقالة على: 1729550719 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3