ใครช่วยให้ฉันมีฟังก์ชั่นในการสร้างทากได้ไหม
ฟังก์ชันที่ Wordpress ใช้ในการสร้างทากนั้นกระจัดกระจายอยู่ในฟังก์ชันและตัวกรองต่างๆ ฉันไม่พบพวกเขาทั้งหมด ใครสามารถให้ฉันฟังก์ชั่น php เดียวเพื่อสร้างทาก? ฉันไม่ต้องการฟังก์ชันทั้งหมดของ Wordpress เพียงแค่ต้องเข้ารหัสอักขระที่ไม่ใช่ภาษาละตินและลบอักขระที่ผิดกฎหมายที่ไม่ได้รับอนุญาตใน url
โพสต์นี้มีฟังก์ชัน แต่ไม่สามารถจัดการกับอักขระที่ไม่ใช่ภาษาละตินได้
ขอบคุณ!
คำตอบ
โพสต์นี้มีฟังก์ชัน แต่ไม่สามารถจัดการกับอักขระที่ไม่ใช่ภาษาละตินได้
นั่นเป็นเพราะ URL ต้องไม่มีอักขระที่ไม่ใช่ภาษาละติน / ASCII
เบราว์เซอร์อาจแสดงอักขระที่ไม่ใช่ภาษาละตินแก่คุณ แต่เป็นเพียงคุณลักษณะส่วนติดต่อผู้ใช้
ตัวอย่างเช่นหากคุณไปที่ URL ของ Wiktionary นี้: URL ของhttps://en.wiktionary.org/wiki/わかもの#Japanese
เบราว์เซอร์ของคุณเข้ารหัสอักขระภาษาญี่ปุ่นเพื่อรับ URL จริงhttps://en.wiktionary.org/wiki/%E3%82%8F%E3%81%8B%E3%82%82%E3%81%AE#Japanese
จากนั้น URL จะถอดรหัสเมื่อแสดง URL เวอร์ชันที่มีเครื่องหมายเปอร์เซ็นต์คือ URL จริง
เช่นเดียวกันกับรหัสอักขระอื่น ๆ ที่ไม่ใช่ ASCII เช่นอาหรับ ถ้าคุณสร้างโพสต์กับกระสุนที่わかもの
แล้วบันทึกและตรวจสอบฐานข้อมูลที่คุณจะไม่เห็นคุณจะเห็นわかもの
%e3%82%8f%e3%81%8b%e3%82%82%e3%81%ae
ในทำนองเดียวกัน UI จะแสดงอักขระภาษาญี่ปุ่น แต่ถ้าคุณคัดลอกลิงก์คุณจะได้รับเวอร์ชันที่เข้ารหัส
หากเราอัปเดตฐานข้อมูลและเปลี่ยนกระสุนของโพสต์わかもの
เป็นตอนนี้โพสต์นั้นไม่สามารถโหลดได้และเราได้รับ 404 นั่นเป็นเพราะกระสุนไม่ถูกต้องและไม่สามารถโหลด URL ที่ตรงกับบุ้งนั้นได้
ใช่ฉันต้องการอักขระที่ไม่ใช่ภาษาละตินเพื่อเข้ารหัสเป็น% xx
คุณต้องการurlencode
มันecho urlencode( $slug )