ถามเรื่อง encode url ค่ะ ปวดหัวมากๆเลย T_T

เริ่มโดย oum1991, 29 ตุลาคม 2013, 04:39:40

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

oum1991

คืออยากให้ url
www.test.com/abc-ภาษาไทย

เปลี่ยนเป็นแบบนี้น่ะค่ะ
http://www.test.com/abc-%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%84%E0%B8%97%E0%B8%A2

เวลา encode ทั้ง url เลยมันจะไปแบบนี้น่ะค่ะ
www.test.com%2Fabc-%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%84%E0%B8%97%E0%B8%A2

พอมีวิธีแก้ไมคะ ที่ไม่ให้ / - อื่นๆ ถูกเข้ารหัสน่ะค่ะ เข้ารหัสแค่ภาษาไทย

ขอบคุณค่ะ

:wanwan017: :wanwan017: :wanwan017:

MapTwoZa

#1

$url = 'hxxp://www.test.com/abc-]www.test.com/abc-ภาษาไทย-จริงๆ-นะ';
$pattern = '/[ก-๙]+/';

while(true){
  $matches = array();  
  $result = preg_match( $pattern, $url, $matches);
  $url = preg_replace($pattern, urlencode($matches[0]), $url );
  if(! $result)
     break;
}


ประมาณนี้
Good code quality Developer :D

oum1991

ขอบคุณมากๆเลยค่ะ :wanwan017: :wanwan017: :wanwan017:
โค้ดนี้สามารถใช้ได้เลยค่ะ แต่บางจุดจะขึ้น � แต่อย่างไรก็ขอบคุณมากๆค่ะที่ช่วยเหลือ
จะเอาโค้ดที่ได้มาไปศึกษาต่อค่ะ ขอบคุณมากๆเลยค่ะ

:wanwan017: :wanwan017: :wanwan017: :wanwan017: :wanwan017:

oum1991

#3
เพื่อนผู้ใจดี บอกให้เติม /[ก-๙]+/u ค่ะ
ขอบคุณแนวทางและเพื่อนผู้ใจดีค่ะ และวางโค้ดไว้ให้สำหรับผู้อื่นเป็นแนวทางค่ะ

:wanwan017: :wanwan017: :wanwan017:

oum1991

#4
ปัญหาอีกอย่างตอนนี้คือ ถ้ามันเจอ ภาษาไทยหนึ่ง-ภาษาไทยสอง มันจะเป็น ภาษาไทยหนึ่ง-ภาษาไทยหนึ่ง ค่ะ

ตอนนี้มั่วเอาแบบนี้ มีใครทำให้มันไม่จำกัดบ้างคะ

(-*)+[ก-๙]*+(-*)+[ก-๙]*+(-*)+[ก-๙]*+(-*)+[ก-๙]*+

:-* :-* :-*

goldxp

#5
//อันนี้เฉพาะ ภาษาไทยเป็น path สุดท้ายของ url นะครับ ถ้ามี /ไทย/ไทย จะไม่ได้

$url='hxxp://www.test.com/abc-ภาษาไทยหนึ่ง-ภาษาไทยสอง';
echo preg_replace('!/([^/]+)$!ue','"/".urlencode("\1")',$url);
[direct=http://web-programming-bookmark.blogspot.com/p/blog-page.html]รับแก้ไขเว็บ[/direct]

oum1991