urlencode เฉพาะ path ของ url
PHP
อัพเดทล่าสุด 4 ต.ค. 65
ปัญหาคือ

ถ้าเราเอา 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
Beta Version v23.12.4 : ขออภัยเว็บกำลังก่อสร้าง (อีกแล้ว) แต่คราวนี้กำลังสร้างจริงจังละ