Selain jawaban hebat websupporter, saya menemukan di bawah ini:
Tergantung pada penggunaan Anda, itu akan tergantung pada apa yang Anda butuhkan.
sanitize_title()
seperti yang tertulis:
aksen dihapus (karakter beraksen diganti dengan yang tidak beraksen)
... dan sanitize_title_with_dashes
mengatakan:
Perhatikan bahwa itu tidak menggantikan karakter beraksen khusus
Jadi, dengan contoh string ini:Â+Ä Ö %%% ßá %20 oo %pp + -_^^#@!**()=[]|\/\'"<>?``~ èäç
sanitize_title()
hasil:
aa-o-sa-% 20-oo-pp -_- eac
Seperti yang Anda lihat, ia telah mengganti karakter beraksen dengan padanannya yang tidak beraksen dan telah menghapus semua karakter non-alfanumerik lainnya selain dari %
yang diikuti oleh angka, tetapi Anda akan melihatnya dihapus ketika diikuti oleh huruf; mungkin ini karena ia menganggapnya sudah dikodekan . Ini diberlakukan ketika Anda mencoba memasukkan %c3
ke dalam string Anda, itu tidak menghapusnya sebagai %c3
urutan penyandian yang valid.
sanitize_title_with_dashes
hasil:
% c3% a2% c3% a4-% c3% b6-% c3% 9f% c3% a1-% 20-oo-pp -_-% c3% a8% c3% a4% c3% a7
Jadi seperti yang Anda lihat, karakter aksennya tidak dihapus, tetapi disandikan.
Sekarang mari kita lihat string tanpa aksen karakter untuk melihat bagaimana mereka berdua berperilaku ...
String Contoh: %%% building %20 oo %pp + -_^^#@!**()=[]|\/\'"<>?``~'
sanitize_title()
hasil:
gedung-% 20-oo-pp-_
sanitize_title_with_dashes
hasil:
gedung-% 20-oo-pp-_
Jadi seperti yang Anda lihat mereka persis sama. Jadi tampaknya satu-satunya perbedaan di antara mereka adalah bahwa satu mengkodekan piagam aksen sementara yang lain menggantikannya .