Site icon บริษัท โค๊ดบี จำกัด

ทำเว็บไซต์ ban คำหยาบ คำโฆษณา ด้วย codeigniter

php-codeigniter-framework

php-codeigniter-framework

<h3>ทำเว็บไซต์ ban คำหยาบ คำโฆษณา ด้วย codeigniter<&sol;h3>&NewLine;<p><&sol;br><br &sol;>&NewLine;<strong>ทำเว็บไซต์ ban คำหยาบ คำโฆษณา ด้วย codeigniter<&sol;strong><br &sol;>&NewLine;ในขั้นตอนของการพัฒนาเว็บไซต์ที่ต้องมีการรับ input แบบข้อความจากสมาชิกเข้ามาแสดงผลผ่านหน้าเว็บไซต์ ตัวอย่างเช่นการสร้างกระทู้ การ comment เว็บไซต์จำเป็นต้องมีระบบกรองข้อมูล เพราะบางทีอาจจะมีการใส่ข้อความที่เป็นคำหยาบ หรือในอีกกรณีคือเพื่อป้องกันการ spam ข้อความที่เป็นโฆษณา ที่เว็บไซต์ไม่ต้องการให้แสดงบนหน้าเว็บ<&excl;--more--><&sol;p>&NewLine;<p><&sol;br><br &sol;>&NewLine;ใน php codeigniter framework มีระบบที่ใช้สำหรับกรองข้อมูลให้เราสามารถใช้งานได้อยู่แล้ว โดยสามารถเรียกใช้โดยการโหลด helper ที่ชื่อว่า text โดยระบบนี้เราสามารถกำหนดคำที่เราไม่ต้องการให้แสดงบนหน้าเว็บไซต์ และสามารถแทนคำนั้น ๆ ด้วยข้อความใหม่ ไอคอน อีโมติคอน หรือรูปภาพก็ได้<br &sol;>&NewLine;<&sol;br><&sol;p>&NewLine;<h4>วิธีใช้งาน text helper กรองคำที่ไม่ต้องการ<&sol;h4>&NewLine;<ul>&NewLine;<li><strong>เปิดใช้งาน text helper<&sol;strong> โหลด helper ของ codeigniter ที่ construtor ของ controller ที่เราต้องการใช้งาน หรือเข้าไปกำหนดการโหลดแบบอัตโนมัติใน autoload&period;php<&sol;li>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " > &NewLine;&dollar;this-&gt&semi;load-&gt&semi;helper&lpar;'text'&rpar;&semi; &NewLine;<&sol;pre>&NewLine;<li><strong>เรียกใช้งานฟังก์ชั่น word&lowbar;censor<&sol;strong> ฟังก์ชั่น word&lowbar;censor ต้องการพารามิเตอร์ 3 ส่วนคือ&NewLine;<ul>&NewLine;<li><strong>&dollar;string<&sol;strong> พารามิเตอร์ตัวแรก คือข้อความที่เราต้องการตรวจสอบว่ามีคำหยาบหรือคำที่เราไม่ต้องการอยู่หรือไม่<&sol;li>&NewLine;<li><strong>&dollar;disallowed<&sol;strong> พารามิเตอร์ตัวที่สอง คือตัวแปร array ที่เก็บคำที่เราต้องการตรวจสอบพารามิเตอร์ตัวแรก<&sol;li>&NewLine;<li><strong>&dollar;replacement&lowbar;word<&sol;strong> พารามิเตอร์ตัวสุดท้าย คือคำที่เราต้องการให้แทนที หากเจอคำที่ไม่เหมาะสมในรายการ<&sol;li>&NewLine;<&sol;ul>&NewLine;<&sol;li>&NewLine;<li><strong>ตัวอย่างการใช้งาน word&lowbar;censor <&sol;strong><&sol;li>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " >&dollar;string &equals; "What does shucks mean"&semi; &NewLine;&dollar;replacement&lowbar;word &equals; "xxx"&semi; &NewLine;&dollar;disallowed &equals; array&lpar;'darn'&comma; 'shucks'&comma; 'golly'&comma; 'phooey'&rpar;&semi; &NewLine;&dollar;string &equals; word&lowbar;censor&lpar;&dollar;string&comma; &dollar;disallowed&comma; &dollar;replacement&lowbar;word&rpar;&semi;<&sol;pre>&NewLine;<p>จากตัวอย่างโค๊ดด้านบน เราได้แทนทีคำในประโยค <strong>&&num;8220&semi;What does shucks mean&&num;8221&semi;<&sol;strong> ด้วยคำว่า &&num;8220&semi;xxx&&num;8221&semi; เพราะฉะนั้นตัวแปร &dollar;string สุดท้ายแล้วจะได้ผลลัพธ์เป็น<&sol;p>&NewLine;<pre class&equals;"lang&colon;default highlight&colon;0 decode&colon;true " >What does xxx mean<&sol;pre>&NewLine;<p>จากตัวอย่างการกรอกคำด้านบนจะเป็นภาษาอังกฤษ แต่เมื่อนำไปใช้งานจริง เราสามารถใช้ภาษาไทยได้เหมือนกันนะครับ&NewLine;<&sol;ul>&NewLine;<h4>ประยุกต์ใช้ text helper กรอกข้อความจากฐานข้อมูล<&sol;h4>&NewLine;<p>ในการใช้งานจริง เราอาจจะไม่กรอกข้อมูลในขั้นตอนของการบันทึกข้อมูลลงฐานข้อมูล แต่จะกรองข้อมูล เมื่อต้องทำการ query ข้อมูลมาแสดงบนหน้าเว็บไซต์ ก็สามารถทำได้เหมือนกันครับ ตัวอย่างเช่น<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " > &NewLine;&dollar;string &equals; &dollar;this->model&lowbar;content->getTopicByID&lpar;&dollar;topic&lowbar;id&rpar;&semi; &NewLine;&dollar;replacement&lowbar;word &equals; "xxx"&semi; &NewLine;&dollar;disallowed &equals; &dollar;this->model&lowbar;content->getBadWordList&lpar;&rpar;&semi; &NewLine;&dollar;string &equals; word&lowbar;censor&lpar;&dollar;string&comma; &dollar;disallowed&comma; &dollar;replacement&lowbar;word&rpar;&semi; &NewLine;<&sol;pre>&NewLine;<p>จากโค๊ดตัวอย่างด้านบนคือ เราได้สร้าง model&lowbar;content เพื่อใช้ในการ query ข้อมูลจากฐานข้อมูล แทนที่จะใช้ข้อมูลที่เป็น static เพราะฉะนั้น เมื่อมีการเพิ่ม bad word เข้าไปในฐานข้อมูล หรือมีการสร้างกระทู้ใหม่ ๆ ระบบก็จะทำงานอัตโนมัติ และแบนคำที่ไม่เหมาะสมก่อนนำไปแสดงบนหน้าเว็บไซต์เสมอ<br &sol;>&NewLine;<&sol;br><br &sol;>&NewLine;<strong>ตัวอย่าง model&lowbar;content และการ query ทั้ง 2 เมธอด<&sol;strong><&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " >class Model&lowbar;content extends CI&lowbar;Model &lbrace; &NewLine; &NewLine;&Tab;function &lowbar;&lowbar;construct&lpar;&rpar; &NewLine; &lbrace; &NewLine; parent&colon;&colon;&lowbar;&lowbar;construct&lpar;&rpar;&semi; &NewLine; &rcub; &NewLine;&Tab;public function getTopicByID&lpar;&dollar;topic&lowbar;id&rpar; &NewLine;&Tab;&lbrace; &NewLine;&Tab;&Tab;&dollar;query &equals; &dollar;this-&gt&semi;db-&gt&semi;query&lpar;'SELECT &ast; FROM topic WHERE topic&lowbar;id &equals; '&period;&dollar;topic&lowbar;id&rpar;&semi; &NewLine;&Tab;&Tab;&dollar;row &equals; &dollar;query-&gt&semi;row&lpar;&rpar;&semi; &NewLine;&Tab;&Tab;return &dollar;row-&gt&semi;content&semi; &NewLine;&Tab;&rcub; &NewLine;&Tab;public function getBadWordList&lpar;&rpar; &NewLine;&Tab;&lbrace; &NewLine;&Tab;&Tab;&dollar;query &equals; &dollar;this-&gt&semi;db-&gt&semi;query&lpar;'SELECT word FROM badword'&rpar;&semi; &NewLine;&Tab;&Tab;return &dollar;query-&gt&semi;result&lowbar;array&lpar;&rpar;&semi; &NewLine;&Tab;&rcub; &NewLine;&rcub;<&sol;pre>&NewLine;<p><&sol;br><&sol;p>&NewLine;

Exit mobile version