HOT-TH.COm

.:: สังคมดีๆแห่งการแบ่งปัน ::....

คุณมี ID แล้วหรือยัง ? สมัครสมาชิก  ลืมรหัสผ่าน

หาเงินออนไลน์ งาน online โปรเจคจบ ทำ seo adword สร้างเว็บฟรี แจกสคริป

ดู: 1640|ตอบกลับ: 3

การเขียน php เพื่อการตัดอักขระพิเศษออกจากข้อความทั้งหมด

[คัดลอกลิงก์]


1000

กระทู้

37

ติดตาม

1หมื่น

เครดิต

ผู้จัดการกระดาน

Rank: 9Rank: 9Rank: 9

โพสต์เมื่อ 12-6-2012 10:38:24 |ดูโพสต์ทั้งหมด
  shared Ping your blog, website, or RSS feed for Free

การเขียน php เพื่อการตัดอักขระพิเศษออกจากข้อความทั้งหมด

สวัสดีครับ คราวนี้ผมนำเอาฟั่งชั่นเพื่อตัดตัวอักษรพิเศษต่างๆในข้อความให้ออกได้อย่างหมดจดเกลี้ยงเกลา มาให้นะครับ  ถ้าถามว่าไอฟั่งชั่นเนี้ย มันมีประโยชน์อะไร ก็คือเราสามารถนำค่าที่ไม่มีอักขระพิเศษไปใช้เพื่อทำ SEO Urlได้ โดยฟั่งชั่นที่ว่าเราจะใช้ Regexe  ผ่านฟั่งชั่น preg_replace ใน php กัน โดยเราต้องเขียน Regexe ดังนี้

เวลาจะเรียกใช้ก็เช่น removespecialchars(‘☼ hot-th.com ฟรีสคริป ☼’); ก็จะได้ค่ากลับมาเป็น Thaiseoboard

แล้วถ้าเราไม่อยากตัดตัวอักษรภาษาไทยละ เราก็เพิ่มเคส ก-๙ ลงไปใน Regexe (สำหรับภาษาไทยจะต้องใช้ ก-๙ นะครับ ไม่ใช่ ก-ฮ)

ก็จะได้เป็น preg_replace(‘#[^ก-๙a-zA-Z0-9]#u’, ”, $raw); ทีนี้เวลาเรียกใช้ removespecialchars(‘☼ Thaiseoboard ไทยเสียว ☼’); จะทำให้ได้ค่ากลับมาเป็น  hot-th.comฟรีสคริป แล้วครับ

แต่ถ้าเราจะทำ SEO Url เราต้องแก้เพิ่มอีกนิดหน่อย เพราะสังเกตมั้ยว่า SEO Url จะต้องมี – คั่นกลางระหว่างคำ (ซึ่งกูเกิ้ลเค้าก็ระบุอย่างนั้น)

โดยเราจะเปลี่ยนพารามิเตอร์หลังของ preg_replace ให้เป็น – และ เพิ่มเคส – ไว้หน้า ก-๙ จะได้ว่า preg_replace(‘#[^-ก-๙a-zA-Z0-9]#u’, ‘-’, $raw);

ทีนี้เราก็จะสร้าง SEO Url ได้เป็น - hot-th.com-ฟรีสคริป- แต่ติดอยู่นิดตรงที่ถ้ามีอักษระพิเศษติดกันเกินกว่า 2 ตัว หรือขึ้นต้นลงท้ายด้วยอักษระพิเศษเช่น ☼☼Thaiseoboard☼☼☼ไทยเสียว ค่าที่ได้จะออกมาเป็น – hot-th.com-ฟรีสคริป ซึ่งมีขีดนำหน้าสองขีดและมีขีดถึงสามขีดติดกัน ยิ่งถ้าในข้อความมีอักษระพิเศษติดกันเยอะๆและหลายชุด จะทำให้  URL ดูไม่สวยงามและไม่เป็นประโยชน์ทาง SEO อีกด้วย

ดังนั้นที่เราจะต้องทำคือ replace – ที่มากกว่า 1 ให้เหลือเพียงอันเดียว โดยเพิ่ม ereg_replace(“-+”,“-”,$raw); เข้าหลังจากทำการตัดอักษระพิเศษออกแล้ว และตรวจสอบว่าค่าที่ได้ขึ้นต้นหรือลงท้ายด้วย – รึเปล่า ถ้าใช่ เราจะตัดออกไป ทีนี้เราก็จะได้ฟังชั่นสำเร็จออกมาเป็น
  1. function seotitle($raw){
  2.      $raw = preg_replace('#[^-ก-๙a-zA-Z0-9]#u', '', $raw);
  3.      $raw =  ereg_replace("-+","-",$raw);
  4.      if(substr($raw,0,1) == '-')
  5.           $raw = substr($raw,1);
  6.      if(substr($game_url,-1) == '-')
  7.           $raw = substr($raw,0,-1);
  8.      return urlencode($raw);
  9. }
คัดลอกไปที่คลิปบอร์ด
จากนั้นพอเราลองใช้ seotitle(‘☼☼ hot-th.com☼☼☼ ฟรีสคริป’); จะได้ค่าออกมาเป็น hot-th.com-ฟรีสคริป ซึ่งเป็นผลที่น่าพอใจทีเดียว


0

กระทู้

0

ติดตาม

293

เครดิต

สมาชิกระดับ 3

Rank: 3Rank: 3

Medals No.1 Medals No.2 Medals No.3 Medals No.4 Medals No.5 Medals No.6 Medals No.7 Medals No.8 Medals No.9 Medals No.10

โพสต์เมื่อ 24-6-2012 03:07:38 |ดูโพสต์ทั้งหมด
  shared Ping your blog, website, or RSS feed for Free

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


1

กระทู้

2

ติดตาม

293

เครดิต

สมาชิกระดับ 3

Rank: 3Rank: 3

โพสต์เมื่อ 6-12-2013 18:24:44 |ดูโพสต์ทั้งหมด
  shared Ping your blog, website, or RSS feed for Free

ครับๆๆๆ


0

กระทู้

0

ติดตาม

143

เครดิต

สมาชิกระดับ 2

Rank: 2

โพสต์เมื่อ 6-6-2014 20:38:57 |ดูโพสต์ทั้งหมด
  shared Ping your blog, website, or RSS feed for Free

ขอบคุงหลายๆ เด้อคับ
Sponsor
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

Ping your blog, website, or RSS feed for Free

© 2013 หาเงินออนไลน์ งาน online โปรเจคจบ ทำ seo adword สร้างเว็บฟรี แจกสคริป

Check Google Page Rank

Processed in 0.046571 second(s), 10 queries .

ขึ้นไปด้านบน