我想使用php从不同的URL获取特定的js对象。
或者
我想使用php从不同的URL获取js脚本文本。
我正在使用这种方法。
$html = file_get_contents($url);
$ddoc = new DOMDocument();
libxml_use_internal_errors(TRUE);
if(!empty($html)){ //if any html is actually returned
$ddoc->loadHTML($html);
libxml_clear_errors(); //remove errors for yucky html
$xxpath = new DOMXPath($ddoc);
$rrrow = $xxpath->query("//script[contains(@src, 'pcode')]");
}
答案 0 :(得分:1)
你忽略了你的代码发生了什么,如果有的话。我尝试了一个完全相同的方法并且它完美地工作(见下文),所以在不知道你试图定位的url的情况下,我建议你尝试在vidposition0 = +$("[data-slide='0']").attr('data-time');
vidposition1 = +$("[data-slide='1']").attr('data-time');
navItem.off().on('click',function(){
var navid = $(this).attr('data-slide');
if (navid == 0) {playVideo(vidposition0);}
if (navid == 1) {playVideo(vidposition1);}
});
function playVideo (endTime) {
video.play();
video.addEventListener("timeupdate", function(){
if(video.currentTime >= endTime) {
this.pause();
}
}, false);
}
中添加一个上下文,因为在许多情况下,服务器可以被配置为拒绝没有file_get_contents
字符串的请求。
User-Agent
使用$url='http://beautifulbathrooms.tumblr.com/';
$query='//script[contains(@src,"jquery")]';
$dom=new DOMDocument;
$dom->validateOnParse=false;
$dom->standalone=true;
$dom->preserveWhiteSpace=true;
$dom->strictErrorChecking=false;
$dom->substituteEntities=false;
$dom->recover=true;
$dom->formatOutput=false;
$dom->loadHTML( file_get_contents( $url ) );
libxml_clear_errors();
$xp=new DOMXPath( $dom );
$col=$xp->query( $query );
if( !empty( $col ) ){
foreach( $col as $script ) echo $script->getAttribute('src').BR;
}
file_get_contents