我有一个页面,我需要获取.mp4文件,它位于特定的
内以下是我需要提取.mp4文件链接的页面源。
<div class="videoPlayer">
<script type="text/javascript">
var sVideoErrorMessage = "<p style='margin-top:170px; text-align:center; font-size:16pt; font-weight:bold;'>You need the latest Flash player to see this video.<br><br><a rel='nofollow' href='http://www.macromedia.com/go/getflashplayer' style='text-align:center; font-size:16pt; font-weight:bold;'>Click here to get Adobe Flash player</a></p>";
var bIsIpad = false;
function videoPoster() {
var style_padding = (490 - 345.66666666667) / 2;
var playerInnerHTML = '<div id="posterHolder">';
playerInnerHTML += ' <div id="html5_vid">';
playerInnerHTML += ' <img src="http://img03.domainname.com/_thumbs/0000430/0430303/0430303_007i.jpg" width="582" alt="" id="vidImgPoster" /><a id="playBtn" href="javascript:;" onclick="startPlayer()"></a>';
playerInnerHTML += ' <span id="lb">loading movie...</span>';
playerInnerHTML += ' </div>';
playerInnerHTML += '</div>';
document.getElementById('_flv_player').innerHTML = playerInnerHTML;
document.getElementById("html5_vid").innerHTML = "<video x-webkit-airplay='allow' id='html5_video' style='margin-top:" + style_padding + "px;' width='610' preload='auto' height='345.66666666667' controls onerror='cantPlayVideo()' " +
"<source src='http://videos.mp4.domainname.com/_videos_t4vn23s9jc5498tgj49icfj4678/0000430/_mp4/0430303.mp4?47aac1f74dca44b0626f9a59c221d75c6c0ad5a608ab8ed18241691fb9f72b19848d7f8a5b6c792e9b4beb72db7731038690fb39d4b4c5083c32fdda32c63370a178cc090ea9ba2c3b7f77d9722898ac9bea1210f3b15ab2265133db172d7a529598ea44320dfa43a7e3f99c5f17c54e468f66964f57e7e019813aae9eef404e5c7db09de772602b19b8800e9f63fa37dcee4c164e71a1da7d2b598e117f15caf7ef9e5700' type='video/mp4'>" +
"<p style='margin-top:170px; text-align:center; font-size:16pt; font-weight:bold;'>You need the latest Flash player to see this video.<br><br><a rel='nofollow' href='http://www.macromedia.com/go/getflashplayer' style='text-align:center; font-size:16pt; font-weight:bold;'>Click here to get Adobe Flash player</a></p>" +
'</video><div id="vidPoster" class="hidden"><img src="http://img03.domainname.com/_thumbs/0000430/0430303/0430303_007i.jpg" width="584" alt="" id="vidImgPoster" style="top:'+ style_padding +'px" /><a id="playBtn" href="javascript:;" onclick="startPlayer()"></a><span id="lb">loading movie...</span></div>';
var vid = document.getElementsByTagName('video')[0];
if (vid != null && 'msie' != $.browser.name) {
vid.play();
vid.pause();
}
}
</script>
</div>
所以从这些代码中我需要提取这个
http://videos.mp4.domainname.com/_videos_t4vn23s9jc5498tgj49icfj4678/0000430/_mp4/0430303.mp4
这是在src内部,也许你可以注意到.mp4后面是一堆带有代码的问号,我不需要它也只需要直接链接到.mp4文件。
是否可以提取它?
我已经在我的localhost文件夹中设置了simplehtmldom,并尝试了一些教程中的一些东西,但是它正在工作,但我不知道如何提取它。
我需要这个在我的php页面上。
答案 0 :(得分:1)
这是可以使用正则表达式的时间之一:
if(!preg_match("/<source src='([^?']*)/", $str, $m)) die('no match!');
$src = $m[1];
原因是它不是真正的HTML,它是javascript。没有html解析器可以做得很好。