urlencode เฉพาะ path ของ url

ปัญหาคือ

ถ้าเราเอา url เข้าไปทั้งยวง มันจะ encode ผิดไปหมดนี่ล่ะ ตัวอย่างเช่น จาก

httpö://www.un-no.com/ภาษาไทย.jpg

ดันได้เป็น

https%3A%2F%2Fwww.un-no.com%2F%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%84%E0%B8%97%E0%B8%A2.jpg

ซึ่งเอาไปใช้ต่อไม่ได้แหงๆ

ตัวช่วย

$url = 'httpö://www.un-no.com/ภาษาไทย.jpg';
$url = preg_replace_callback('#://([^/]+)/([^?]+)#', function ($match) {
		return '://' . $match[1] . '/' . join('/', array_map('rawurlencode', explode('/', $match[2])));
}, $url);

ได้ผล

httpö://www.un-no.com/%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%84%E0%B8%97%E0%B8%A2.jpg
0
รับทราบ
0
เยี่ยม
0
แย่
0
ตลก
0
รักเลย
0
โกรธ
Beta Version v22.7.1 : ขออภัยเว็บกำลังก่อสร้าง (อีกแล้ว) แต่คราวนี้กำลังสร้างจริงจังละ