怎样用PHP或者js获取网页中某个部分的值 110
有一个url,比如是https://aaa.com/1024/,网页中部分代码如下<divclass="pure-u-1"><h1class="pure-u-1"id="...
有一个url,比如是https://aaa.com/1024/,网页中部分代码如下
<div class="pure-u-1">
<h1 class="pure-u-1" id="title">葫芦娃.mp4</h1>
<video id="video" class="pure-u-1" controls src="/cdn/hls/937022.m3u8"></video>
<script src="/static/js/hls-0.6.14.min.js"></script>
<script>
if (Hls.isSupported()) {
var video = document.getElementById('video');
var hls = new Hls();
hls.loadSource("/cdn/hls/937022.m3u8");
hls.attachMedia(video);
hls.on(Hls.Events.MANIFEST_PARSED, function () {
video.play();
});
}
</script>
</div>
我想要写一个简单的页面,在input中输入https://aaa.com/1024/就可以获取上面网页内容中937022那部分的值并加在一个链接后面,比如https://bbb.com/937022 展开
<div class="pure-u-1">
<h1 class="pure-u-1" id="title">葫芦娃.mp4</h1>
<video id="video" class="pure-u-1" controls src="/cdn/hls/937022.m3u8"></video>
<script src="/static/js/hls-0.6.14.min.js"></script>
<script>
if (Hls.isSupported()) {
var video = document.getElementById('video');
var hls = new Hls();
hls.loadSource("/cdn/hls/937022.m3u8");
hls.attachMedia(video);
hls.on(Hls.Events.MANIFEST_PARSED, function () {
video.play();
});
}
</script>
</div>
我想要写一个简单的页面,在input中输入https://aaa.com/1024/就可以获取上面网页内容中937022那部分的值并加在一个链接后面,比如https://bbb.com/937022 展开
2个回答
展开全部
首先你先确定你是不是需要跨域去访问你的目标站点:aaa.com(跨域指的是你当前所在的网址跟你input的网址是否同源,因为浏览器对跨域访问是有限制的,所以这点需要考虑。)
如果需要跨域,且aaa不允许跨域访问的话,这件事情只能在后端去做,否则可以在前端实现。
然后大概讲一下实现思路,不管是后端还是前端思路都差不多,首先你发起一个http请求去访问input的网站(前端自己发起ajax请求,后端node可以用$http模块发起请求,tomcat等服务器同理),得到响应的html页面内容之后你再做一次文本解析(例如正则匹配的方式)获取你想要的目标字符串,最后加上你自己的链接就行了。
如果需要跨域,且aaa不允许跨域访问的话,这件事情只能在后端去做,否则可以在前端实现。
然后大概讲一下实现思路,不管是后端还是前端思路都差不多,首先你发起一个http请求去访问input的网站(前端自己发起ajax请求,后端node可以用$http模块发起请求,tomcat等服务器同理),得到响应的html页面内容之后你再做一次文本解析(例如正则匹配的方式)获取你想要的目标字符串,最后加上你自己的链接就行了。
追问
可以跨域的,用正则匹配应该可以,不过我没学过这些,只会一些简单的html,方便的话麻烦你帮忙写一下,谢谢你!
2018-08-04
展开全部
<html><head><title>test</title></head><body><?php if(isset($_POST['target']) && strlen($_POST['target'])>0){ if(strtolower(substr($_POST['target'],4))==='http' || strpos($_POST['target'],"..") === false){ $source = file_get_contents($_POST['target']);//file_get_contents方式获取页面内容,所以必须有上面的判断 否则会产生本地文件读取漏洞 $reg = '#/([\d]+).m3u8#i'; if(preg_match($reg,$source,$m)){ echo "https://bbb.com/".$m[1]; }else{ echo "输入的链接有误2!"; } }else{ echo "输入的链接有误3!"; } }else{ echo "输入的链接有误1!";}?><br /><form action="#" method="post">输入地址:<input type="text" name="target" style="width:400px;"><br /><input type="submit" value="提交"></form></body></html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询