我想知道如何從特定的html文件中過濾flash內容。從html中過濾flash內容
我知道我可以使用正則表達式和搜索.swf或.flv文件,但有沒有另一種從HTML文件獲取Flash電影的方式?
我想使用PHP來獲取鏈接到HTML文件中的Flash內容。
提前致謝!
我想知道如何從特定的html文件中過濾flash內容。從html中過濾flash內容
我知道我可以使用正則表達式和搜索.swf或.flv文件,但有沒有另一種從HTML文件獲取Flash電影的方式?
我想使用PHP來獲取鏈接到HTML文件中的Flash內容。
提前致謝!
使用DOM解析器並查找硬編碼的對象/嵌入元素,並通過正則表達式查看src/data屬性值是否包含.swf。
只是一個想法,但你可以尋找結構。例如,Flash內容通常被加載到標籤中。一旦你有了它,你可以通過它來解析,通過抓取非IE瀏覽器中'data'屬性的內容來抓取你需要的信息,或者在IE中使用jQuery抓取這些值來抓取讓你的生活無限簡單。
好的,但問題是,我無法找到視頻的網址很多次。例如,看看southparkstudios [dot] com並點擊一個電影。你可以找到播放器的瑞士法郎,但沒有播放器播放的文件.... – CyberK 2010-11-09 07:52:17
@CyberK這個問題很有可能是由於2種可能的情況: 1)它們在編譯的SWF文件中對電影源進行硬編碼。在這種情況下,PHP無法獲取該信息。 2)swf文件包含對XML文件,webservice或包含電影源(路徑)的數據庫的硬編碼引用。如果正在使用XML文件,並且您可以找到/訪問它,那麼您可以使用PHP/JS /等輕鬆解析該文件...如果他們已經走了WS/DB路線,那麼就像情景一樣,您運氣不好。 – 2010-11-09 13:57:34
退房http://simplehtmldom.sourceforge.net/
$html = file_get_html('test.htm');
foreach($html->find('object') as $element) {
//now you can access the <object> tags attributes like
echo $element->id;
//usually flash is embedded in an <object> tag, so you can just wipe the contents of it with
$element->innertext='';
}
好酷,但是還有一種方法來找到swf源代碼?例如,你有一個播放器,我需要它播放的文件的來源。我怎麼弄到的?提前致謝! – CyberK 2010-11-06 16:20:08
你可以使用foreach($ html-> find('embed')as $ element),然後$ element-> src將返回swf文件。 – 2010-11-08 00:17:32
是的,你可以regex'em:谷歌:PHP正則表達式Flash的SWF(http://www.google.com/search?q=php+regular+expressions + flash + swf) – 2010-11-05 19:14:19