Petikan Pintar ialah tanda tipografi yang digunakan sebagai ganti petikan lurus biasa (' dan "). Ia memberikan tanda yang lebih halus dan rupa yang digilap ke teks. Walau bagaimanapun, adalah perkara biasa bagi aplikasi perisian untuk bergelut dengan menukar antara jenis petikan pintar yang berbeza, yang membawa kepada ketidakkonsistenan.
Kesukaran untuk menukar petikan pintar timbul daripada pelbagai pengekodan dan aksara yang digunakan untuk mewakilinya Sistem pengendalian dan program perisian yang berbeza menggunakan piawaian mereka sendiri, menghasilkan landskap aksara petikan yang berpecah-belah Contohnya, satu sistem mungkin menggunakan Unicode, manakala yang lain mungkin menggunakan halaman kod Windows 1252.
Untuk menangani cabaran ini, fungsi penukaran petikan pintar yang komprehensif dalam PHP memerlukan pemahaman menyeluruh tentang pengekodan dan aksara yang berbeza yang terlibat petikan pintar, termasuk yang ditakrifkan dalam Unicode, halaman kod Windows 1252 dan pengekodan lama yang lain.
Pelaksanaan PHP dioptimumkan berikut menukar semua jenis petikan pintar kepada petikan biasa:
<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>
Fungsi ini merangkumi pelbagai variasi petikan pintar, termasuk yang terdapat dalam Unicode, halaman kod Windows 1252 dan pengekodan lama. Dengan menggunakan strtr, ia menggantikan semua contoh petikan pintar dengan perwakilan Unikod yang sepadan, menghasilkan teks yang konsisten dan piawai.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Semua Jenis Petikan Pintar dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!