ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์ProgrammingPHP จะตัดพวกอักขระพิเศษ ใน content ของเรา ทำไงครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: PHP จะตัดพวกอักขระพิเศษ ใน content ของเรา ทำไงครับ  (อ่าน 9001 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
joe
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: -6
ออฟไลน์ ออฟไลน์

กระทู้: 1,123



ดูรายละเอียด
« เมื่อ: 10 สิงหาคม 2007, 14:24:04 »

สมมติว่าผมมีตัวแปร $text อยู่ ซึ่งเป็น description ต่างๆ
แล้วที่นี่มันจะมี พวกอักขระพิเศษปนอยู่ด้วย ผมต้องการจะตัดมันทิ้งออกไปเลย ทำยังไงครับ

คิดว่าคงใช้พวก preg หรือ ereg ต่างๆ แต่ผมใช้ไม่ค่อยเป็นอะ

ปล. พวกอักขระพิเศษในความหมายของผม คือ
ตัวอักษรที่ ไม่ใช่ a ถึง z ,ไม่ใช่ 0-9 ,ไม่ใช่ - (เครื่องหมายลบ) และ ไม่ใช่ ช่องว่าง (เว้นวรรค)


รบกวนเพื่อนๆช่วยทีครับ  Kiss
บันทึกการเข้า
Tee++;
โปรแกรมเมอร์ จอหงวน
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 79
ออฟไลน์ ออฟไลน์

กระทู้: 1,852



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 10 สิงหาคม 2007, 15:25:15 »

$p = preg_replace('/[^a-z0-9\_\- ]/i', '', $str);

บันทึกการเข้า

joe
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: -6
ออฟไลน์ ออฟไลน์

กระทู้: 1,123



ดูรายละเอียด
« ตอบ #2 เมื่อ: 10 สิงหาคม 2007, 15:35:59 »

ขอบคุณมากครับคุณ Tee++

ว่าแต่ขอถามต่อหน่อยครับ

$p = preg_replace('/[^a-z0-9\_\- ]/i', '', $str);

ตรงที่เป็นสีแดงอะครับ หมายความว่าไง อ่านในหนังสือไม่มีอะ
บันทึกการเข้า
Tee++;
โปรแกรมเมอร์ จอหงวน
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 79
ออฟไลน์ ออฟไลน์

กระทู้: 1,852



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 10 สิงหาคม 2007, 15:46:16 »

ขอบคุณมากครับคุณ Tee++

ว่าแต่ขอถามต่อหน่อยครับ

$p = preg_replace('/[^a-z0-9\_\- ]/i', '', $str);

ตรงที่เป็นสีแดงอะครับ หมายความว่าไง อ่านในหนังสือไม่มีอะ

เป็นรูปแบบคำสั่งมัน /../ ใช้ร่วมกับ preg... ส่วน i หมายถึง insensitive case
บันทึกการเข้า

myong1
สมุนแก๊งเสียว
*

พลังน้ำใจ: 33
ออฟไลน์ ออฟไลน์

กระทู้: 569



ดูรายละเอียด
« ตอบ #4 เมื่อ: 10 สิงหาคม 2007, 16:19:22 »

ผมยังไม่เชี่ยวเรื่อง php แต่ regular expressions นี่พอได้คับ

ผมขอเสริมนิดหนึ่งนะครับ ของที่คุณ Tee++ เขียนมาก็ใช้ได้แล้วครับ แต่ตรงช่องว่างนะครับ [^a-z0-9\_\- ] หลังเครื่องหมาย -

ใช้เป็น \s จะดีกว่าครับ เพราะจะรวมไปถึง tab และ new line ด้วย

ถ้าผมเขียนก็จะเป็นประมาณนี้ครับ [^\w\s_-] ไม่ต้องมี i ข้างหลังก็ได้ครับ เพราะครอบคลุมไว้หมดแล้ว

regular expressions นี่เรียนรู้ไว้ไม่เสียหลายครับ ยังไงอยู่วงการนี้ ได้ใช้แน่ ๆ แถวใช้บ่อยด้วยครับ  Smiley
บันทึกการเข้า
janeos
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 263



ดูรายละเอียด
« ตอบ #5 เมื่อ: 10 สิงหาคม 2007, 17:34:53 »

ฮ่าๆๆ
regular expressions  ความรู้ผมแทบเป็นศูนย์เลยครับ

จะใช้ที ต้องไป search หาแล้วเอามาโมเอาทุกที  Tongue
บันทึกการเข้า

joe
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: -6
ออฟไลน์ ออฟไลน์

กระทู้: 1,123



ดูรายละเอียด
« ตอบ #6 เมื่อ: 10 สิงหาคม 2007, 18:37:34 »

ขอบคุณมากครับ ทุุึกคนเลย  Smiley
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์