[請益] 思路請益 (關於正規表示,curl)

看板PHP作者 (Maybe)時間15年前 (2010/02/23 23:11), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/2 (看更多)
大家好 目前正在寫一隻小程式 功能是抓取無名網誌上播放器的音樂載點 而通常無名上是用iframe嵌入播放器 http://tinyurl.com/ygsvmh2 其中 <iframe src=" 後的那段網址裡頭是真正要處理的code 目前程式的流程是: 用curl先抓取所給的url的html 然後分析此html , 用preg_match 函式抓出 <iframe src=" 後的那段網址 而我用的正規表示式是 /iframe src=\"(.+?)\" frameborde/ 再把這個網址用curl抓出原始碼 此時的code大約類似 http://tinyurl.com/yk99ttk 然後再用 /\?file=(.+?)&/ 把 file= 後面的這段抓下來 這個就是我所要的網址 以上用於我自己的無名都OK 但是我用朋友得來測試時卻發現幾點致命傷 1.我的無名只有一個iframe 可是不見得別人的也只有一個 也許有很多個 那這個時候該怎麼去抓播放器的語法呢 ? 該怎麼設定正規表示式的條件 ? 或是有iframe的地方都抓出來 反正到第二步驟的時候"應該"只有播放器的那個iframe會有結果 (算偷懶嗎XD) 2.抓取到播放器的code後 因為file,autostart等等是參數可以隨意變換位置 我的是file再最前面,所以連接下一個參數會用& 以此作為正規表示式的規則 可是像我朋友的就很機車 file再最後面 所以載點之後並沒有 & 這個時候規則又該怎麼改 ? 以上 因為我對正規表示式並沒有真正學習過 都是看著別人的code + google依樣畫葫蘆 所以現在遇到這個問題思路有點轉不出去 希望有高手能幫忙指點一下 謝謝 :D -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.75.106

02/24 13:25, , 1F
preg_match_all
02/24 13:25, 1F

02/24 13:26, , 2F
先把player的tag整個抓出來在抓src
02/24 13:26, 2F
文章代碼(AID): #1BW_0EUU (PHP)
文章代碼(AID): #1BW_0EUU (PHP)