Clean url - preg_replace “อาหารที่กิน แล้วช่วยให้อารมณ์ดี”

$patterns = array('/[^a-z0-9ก-๙เ-า\s]/', '/\s\s+/', '/\s/', '/^-/', '/-$/');
$replacements = array(' ', ' ', '_', '', '');
$cleanurl = preg_replace($patterns, $replacements, $cleanurl);

ไม่สามารถตัดตัวพวก อย่างเช่น

“อาหารที่กิน แล้วช่วยให้อารมณ์ดี”

ตรง Url กลายเป็น

‰‰อาหารที่กิน แล้วช่วยให้อารมณ์ดี‰‰

แบบนี้ครับ
อยากทราบวิธีลบออกครับ ไม่ทราบว่าแก้ไขอยางไรดีครับ

17 ก.ย. 2552 6 2,502

'/[^a-z0-9ก-๙เ-า\s]/u'

ลองใส่ u ดูครับ
#1

$patterns = array('/[^a-z0-9ก-๙เ-า\s]/u', '/\s\s+/', '/\s/', '/^-/', '/-$/');

แล้วขึ้น Compilation failed: range out of order in character class at offset 21 in .. ครับ
#2

ลองแยก range ออก ครับ เป็นภาษาอังกฤษ ภาษาไทย
#3

ลองใข้แค่ ก-๙  ก็ไม่มีปัญหาแล้วแหะ - -* เอา เ-า ออก

ตอนนี้มีปัญหากับ ตัว "ภ" ครับ ที่ยังเป็น ‰อย฿เลยครับ

เหมือนเคยเห็นในเว็บนี้มีเขียนไว้แว๊บๆ

#4

flag  u ครับ ที่ต้องใส่ เพื่อให้รองรับ UTF-8 ลอง ปรับดูครับ
#5

ขอบคุณครับ :D
#6
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^