|
|
|
มีปัญหากับ function ที่แปลงภาษาไทยและภาษาอังกฤษเป็น uri ครับ (เช่น a cat -> a-cat, กว้าง ขวาง -> กว้าง-ขวาง) |
|
|
|
|
|
|
|
Code (PHP)
function u_url_title($str, $separator = '-', $lowercase = false) {
$replace = $separator;
$str = str_replace("&", "", $str);
$trans = array(
'&\#\d+?;' => '',
'&\S+?;' => '',
'\s+' => $replace,
'[^a-z0-9\-\._ก-ฮะาิีุูเะแำไใๆ่้๊๋ั็์ึืฦฤๅ]' => '',
$replace.'+' => $replace,
$replace.'$' => $replace,
'^'.$replace => $replace,
'\.+$' => ''
);
$str = strip_tags($str);
foreach ($trans as $key => $val) {
$str = preg_replace("#".$key."#i", $val, $str);
}
if ($lowercase === TRUE) {
$str = strtolower($str);
}
return $str;
}
จากฟังก์ชั่นที่เขียนขึ้นมาข้างบน เวลากรอกข้อความลงไป มันจะแปลงเป็นประโยคให้เหมาะกับ uri
เช่น a cat ก็จะออกมาเป็น a-cat
หรือ กว้าง ขวาง ก็จะออกมาเป็น กว้าง-ขวาง
แต่ทีนี้มันไปติดขัดตรง ภ.สำเภา ที่มันไม่ส่งออกมาตามปกติ มันกลายเป็นตัว �- ไปซะอย่างนั้น
(กลายเป็นตัวสี่เหลี่ยมหมุนสีดำๆและมี ? ข้างใน)
จะทำยังไงให้ ภ. ผ่านออกมาได้ปกติครับ?
Tag : PHP
|
|
|
|
|
|
Date :
2011-08-03 00:40:51 |
By :
mr.v |
View :
1161 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันเหมือนกับตัว ภ. ตัวเดียวที่ไม่เป็น unicode น่ะครับ เพราะตัวอื่นผ่านหมด ลองนั่งจิ้มหมดแล้ว
แล้วพอเอาไป iconv กลายเป็นว่า ภ. ออกมาแค่ตัวเดียว ตัวอื่นไม่ออกเลย ซะงั้น
ภ. มันมีปัญหาอะไรพิเศษเหรอครับ?
|
|
|
|
|
Date :
2011-08-03 00:57:46 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่มีใครอยู่ช่วยผมเลยเหรอครับเนี่ย - -"
ผมลองไล่ๆดู ถ้าเอา Code (PHP)
'\s+' => $replace,
ออกไปมันก็จะเป็นปกติ แต่ว่าพวกที่เป็นช่องเว้นวรรคจะไม่กลายเป็นขีด -
ทำไงดี
|
|
|
|
|
Date :
2011-08-03 01:45:45 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$str = preg_replace("#".$key."#ui", $val, $str);
|
|
|
|
|
Date :
2011-08-03 01:55:16 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอว ขอบคุณมากเลยครับ
|
|
|
|
|
Date :
2011-08-03 02:24:44 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นอนดึกดีนะครับ
|
|
|
|
|
Date :
2011-08-03 02:34:14 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|