我正在尝试获取动态生成页面上的视频总数。为此,我解析页面的html并搜索所有<object>
,<iframe>
和<embed>
标记。除了视频嵌入代码之外,该页面不会包含任何其他类型的iframe内容,因此我可以确定任何iframe标记都是视频。问题是像Hulu这样的一些嵌入代码在<embed>
标记内有<object>
标记。所以我目前的REGEX:
'/(<iframe|<object|<embed)/i'
这个Hulu嵌入代码被视为2个视频而不是一个:
<object id="videoplayer1" width="728" height="407">
<param name="movie" value='http://www.hulu.com/embed/7qXAa2z1zXKPMw4mBakrRw'></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowScriptAccess" value="never"></param>
<embed src='http://www.hulu.com/embed/7qXAa2z1zXKPMw4mBakrRw' type="application/x-shockwave-flash" allowfullscreen="true" width="728" height="407" allowscriptaccess='never'></embed>
</object>
我只想搜索未被<object>
标记封装的那些,而不是搜索所有嵌入标记。所以上面的hulu将被避免,但是这样的一个将被计算在内:
<embed src="http://www.ebaumsworld.com/player.swf" allowScriptAccess="always" flashvars="id1=81748652" wmode="opaque" width="567" height="345" allowfullscreen="true" />
对于这种情况,REGEX模式会是什么样的,我正在使用PHP。
答案 0 :(得分:0)
带xpath的Xml解析器也是我的去吧