Monday, November 12, 2012

PHP : การลบ Line Break ออกจาก String

ปัญหานี้เกิดขึ้นเมื่อตอนที่ต้องการจัดรูปแบบข้อมูล PHP ให้เป็น JSON แต่บังเอิญว่าใน String นั้นมีการขึ้นบรรทัดใหม่ ทำให้ข้อมูล JSON นั้นผิดพลาด จึงต้องจัดการใส่ฟังก์ชั่นเข้าไปเพื่อลบการขึ้นบรรทัดใหม่ (Line Break) ตัวอย่างดังนี้ครับ
$fcv = str_replace(array("\r\n", "\r", "\n"), "", $fcv);
เราสามารถที่จะตรวจสอบความถูกต้องของข้อมูล JSON ได้โดยทำการ Validate ด้วยเว็บไซต์นี้ครับ http://jsonlint.com

Friday, November 9, 2012

ใส่ลูกน้ำ (Comma) ให้กับข้อมูลตัวเลขด้วย JavaScript

การแสดงผลข้อมูลตัวเลข ในกรณีที่ต้องทำการคำนวณด้วย และจะต้องมีการจัดรูปแบบของตัวเลขให้ดูง่ายจะต้องใส่ลูกน้ำ , คั่นระหว่างหลักพัน หลักล้าน หลักพันล้าน ฯลฯ หรืออะไรก็แล้วแต่ เรามีฟังก์ชั่นที่จะสามารถจัดรูปแบบตัวเลขนี้โดย JavaScript ดังนี้ครับ
function addCommas(nStr){
  nStr += '';
  x = nStr.split('.');
  x1 = x[0];
  x2 = x.length > 1 ? '.' + x[1] : '';
  var rgx = /(\d+)(\d{3})/;
  while (rgx.test(x1)) {
   x1 = x1.replace(rgx, '$1' + ',' + '$2');
  }
  return x1 + x2;
}
จากตัวอย่าง จะเป็นการแยกทศนิยมออกมาก่อน จากนั้นให้ Regulat Expression โดยนับจากท้ายจำนวน 3 หลักแล้วใส่ลูกน้ำเข้าไป ง่ายดายมาก ๆ

Tuesday, November 6, 2012

ดึงรูปโพรไฟล์จาก Instagram ด้วย PHP ง่ายนิดเดียว

Instagram เป็น Social Media ที่ได้รับความนิยมอักอันหนึ่ง ซึ่งเหล่าบรรดาไฮโซไฮซ้อ ดารา นักแสดง เซเล็บ(ตีนหมา) รวมถึงประชาชีทั้งหลายที่มีโทรศัพท์หรือแท็ปเล็ตที่ใช้ระบบปฏิบัติการ Android และ iOS ก็นิยมเล่นกัน โดยเว็บไซต์ฮิต ๆ ในไทย ไม่ว่าจะเป็น kapook , manager , mthai และอะไรต่อมิอะไรมากมาย เรามาดูวิธีการดึงรูปโพรไฟล์จาก ig แบบง่าย ๆ กัน ดังนี้
function getIgProfilePic($iguser) {
 $file_str = file_get_contents('http://followgram.me/' . $iguser);
 $html = new DOMDocument();
 $html->loadHTML($file_str);
 $img = $html->getElementsByTagName('img');

 return $img->item(1)->getAttribute('src');
}
ฟังก์ชั่นนี้จะใช้วีธีการไปดูดโค้ด HTML จากเว็บ followgram.me มาแล้วนำมาเรียบเรียงด้วยคลาส DOMDocument จากนั้นก็ return ค่า attribute src ของภาพที่ 2 (index ที่ 1) ออกมานั่นเอง ง่ายป่ะ อิอิ

Thursday, November 1, 2012

กำจัด BBCode ในข้อมูล PHP

เราสามารถจำกัดแท็ก HTML ที่อยู่ปะปนกับ String ในข้อมูล PHP ได้ โดยการใช้งานคำสั่ง strip_tags แต่ถ้าเป็น BBCode ที่นิยมใช้กันในเว็บบอร์ดสำเร็จรูปต่าง ๆ ทั้งหลายนั้น เราจะต้องเขียนฟังก์ชั่นขึ้นมาเพื่อกำจัด BBcode เหล่านั้น ซึ่งทาง codeinw เราก็มีฟังก์ชั่นสำหรับการนี้ให้ทุกท่านได้นำไปใช้ ดังนี้ครับ
function stripBBCode($text_to_search) {
   $pattern = '|[[\/\!]*?[^\[\]]*?]|si';
   $replace = '';
   return preg_replace($pattern, $replace, $text_to_search);
}
จากฟัง์ชั่นนี้เป็นการใช้ Regular Expression ในการตรวจสอบจุดเริ่มต้นและจุดสิ้นสุดของ BBCode ที่จะเริ่มต้นด้วย [ และสิ้นสุดด้วย ] โดยจะแทนที่ส่วนของ BBcode ด้วย String ว่าง ๆ นั่นเองครับ