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

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

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

User avatar
samsonnaze3
PHP Hero Member
PHP Hero Member
Posts: 190
Joined: 04/03/2012 1:06 am

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

Post by samsonnaze3 »

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

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

Code: Select all

$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];
 
ผลลัพธ์

Code: Select all

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

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

Post by tohkai_php »

</embed></object>'

error ครับ ไม่มี ; คิคิ
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25479
Joined: 22/09/2008 6:18 pm
Contact:

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

Post by mindphp »

หา embed ควรใช้

Code: Select all

src
เพราะ 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
Posts: 25
Joined: 18/07/2008 11:01 pm
Contact:

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

Post by supakwong »

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

อยากถามความหมา่ยตรงนี้ครับ พอแนะนำได้ไหมครับว่ามันกำหนดว่ายังไงบ้าง อยากลองแกะ preg_match เดิมของ code นะครับ
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25479
Joined: 22/09/2008 6:18 pm
Contact:

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

Post by 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
Posts: 25
Joined: 18/07/2008 11:01 pm
Contact:

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

Post by supakwong »

ขอบคุณครับ
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Share Knowledge”

Who is online

Users browsing this forum: facebook.com [Crawler] and 9 guests