วิธีการใช้งาน Function preg_match()

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
samsonnaze3
PHP Hero Member
PHP Hero Member
โพสต์: 190
ลงทะเบียนเมื่อ: 04/03/2012 1:06 am

วิธีการใช้งาน Function preg_match()

โพสต์ที่ยังไม่ได้อ่าน โดย samsonnaze3 »

ฟังก์ชั่น preg_match() นั้นเอาไว้ใช้ตรวจสอบว่า มีข้อความตาม pattern ที่กำหนด ใน text หรือไม่ และสามารถถอดข้อความออกมาได้

ตัวอย่างการถอดข้อความออกจาก Tag xml โดยดึง link youtube ออกมา

โค้ด: เลือกทั้งหมด

$xml_youtube = '<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/tKIznHS-RKk&rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/tKIznHS-RKk&rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>'

preg_match('/value="(.+?)"></',$xml_youtube ,$matches);
echo $matches[1];
 
ผลลัพธ์

โค้ด: เลือกทั้งหมด

http://www.youtube.com/v/tKIznHS-RKk&rel=1
โดยที่ ตัว $matches จะคืนค่าออกมาเป็น Array โดยจะคืนค่าของผลลัพธ์ที่เราหา
ส่วน '/value="(.+?)"></' นั้นเป็น Pettle ที่เอาไว้ใช้หา โดยที่ เริ่มหาจากคำว่า value=" แล้วปิดท้ายด้วย "></ ซึ่ง ข้อความไหนก็ตามที่อยู่ใน value="" จะถูกถอดออกมาอยู่ในตัวแปร $matches
และ $xml_youtube เป็นข้อความที่ต้องการเอามาค้นหา
แก้ไขล่าสุดโดย samsonnaze3 เมื่อ 13/06/2012 1:32 pm, แก้ไขไปแล้ว 1 ครั้ง.
รูปภาพ
tohkai_php
PHP Sr. Member
PHP Sr. Member
โพสต์: 95
ลงทะเบียนเมื่อ: 10/04/2012 9:09 am

Re: วิธีการใช้งาน Function preg_match()

โพสต์ที่ยังไม่ได้อ่าน โดย tohkai_php »

</embed></object>'

error ครับ ไม่มี ; คิคิ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: วิธีการใช้งาน Function preg_match()

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

หา embed ควรใช้ เพราะ value จากตัวอย่างมีมากกว่า 1
1 embed จะมี src แค่ 1 ตัวจึงเหมาะกว่า
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
supakwong
PHP Jr. Member
PHP Jr. Member
โพสต์: 25
ลงทะเบียนเมื่อ: 18/07/2008 11:01 pm
ติดต่อ:

Re: วิธีการใช้งาน Function preg_match()

โพสต์ที่ยังไม่ได้อ่าน โดย supakwong »

preg_match_all('#(prod" name=")(.*?)(">)#',$html,$***);

อยากถามความหมา่ยตรงนี้ครับ พอแนะนำได้ไหมครับว่ามันกำหนดว่ายังไงบ้าง อยากลองแกะ preg_match เดิมของ code นะครับ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: วิธีการใช้งาน Function preg_match()

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ลองดูตามลิงค์ นี้ครับ
https://www.mindphp.com/modules.php?name ... age&pid=78
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
supakwong
PHP Jr. Member
PHP Jr. Member
โพสต์: 25
ลงทะเบียนเมื่อ: 18/07/2008 11:01 pm
ติดต่อ:

Re: วิธีการใช้งาน Function preg_match()

โพสต์ที่ยังไม่ได้อ่าน โดย supakwong »

ขอบคุณครับ
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 68