本文实例讲述了PHP实现获取url地址中顶级域名的方法。分享给大家供大家参考,具体如下:
parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。
有不足之处还请留言指正,谢谢。
* @Author: Ding Jianlong
* @Date: 2019-03-07 16:14:04
* @Last Modified by: Ding Jianlong
* @Last Modified time: 2019-03-20 13:45:12
header('content-type:text/html;charset=utf-8');
//获取顶级域名
function getTopHost($url){
$url = strtolower($url); //首先转成小写
$hosts = parse_url($url);
$host = $hosts['host'];
//查看是几级域名
$data = explode('.', $host);
$n = count($data);
//判断是否是双后缀
$preg = '/[\w].+\.(com|net|org|gov|edu)\.cn$/';
if(($n > 2) && preg_match($preg,$host)){
//双后缀取后3位
$host = $data[$n-3].'.'.$data[$n-2].'.'.$data[$n-1];
}else{
//非双后缀取后两位
$host = $data[$n-2].'.'.$data[$n-1];
return $host;
// 测试
echo getTopHost("http://ABC.com/s/j?wd=djl"),'<br>';
echo getTopHost("http://www.abc.com/s/j?wd=djl"),'<br>';
echo getTopHost("http://2.www.abc.com/s/j?wd=djl"),'<br>';
echo getTopHost("https://mp.weixin.qq.com/s?__biz=MzA3ODI3ODUzMw=="),'<br>';
echo getTopHost("http://cfi.net.cn/"),'<br>';
echo getTopHost("http://www.cfi.NEt.cn/"),'<br>';
echo getTopHost("https://www.sina.com.cn/?from=kandian"),'<br>';
运行结果:
abc.com
abc.com
abc.com
qq.com
cfi.net.cn
cfi.net.cn
sina.com.cn
本文实例讲述了PHP实现获取url地址中顶级域名的方法。分享给大家供大家参考,具体如下: parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。 有不足之处还请留言指正,谢谢。<?php/** * @Author: Ding Jianlong * @Date: 2019-03-07 16:14:...
大家都知道Js有同源策略,就是主域名不同嵌套的iframe不允许Js通信的。
比如我有一个网站,网站中要嵌入其网站的页面。那么我可以使用iframe引用第三方网站的地址即可。
但是问题也来的iframe的高度是固定的不能与第三方网站很好的融合,又例如第三方网站使用了瀑布流插件,要滚动加载自动计算高度,那么先说跨域:iframe主域名不同跨域方法,假如网站 A.com B.com A 里面放入一个iframe 引用了B.com,这种情况下B.com里面的Js是无法访问到A.com的。JS跨域必须是同源,就是同一个主域名,那肿么办呢?
我们可以在B.com中在引入一个iframe,暂且叫C吧
function get_host($to_virify_url = ''){
$url = $to_virify_url ? $to_virify_url : $_SERVER['HTTP_HOST'];
$da...
parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。
有不足之处还请留言指正,谢谢。
<?php
* @Author: Ding Jianlong
* @Date: 2019-03-07 16:14:04
* @Last Modified by: Ding Jianlong
* @La...
提取url中的信息,可以使用python中的urlparse模块进行解析,但是有个缺陷是无法提取顶级域名。参考博文:https://blog.csdn.net/weixin_44799217/article/details/124591187
提取较为复杂的url信息,还可以使用tld模块。
安装方法::
http://www.baidu.com
后缀支持:
".com", ".cn", ".com.cn", ".gov", ".net", ".edu.cn", ".net.cn", ".org.cn", ".co.jp", ".gov.cn",
".co.uk", "ac.cn", ".edu", ".tv",".info", ".ac", ".ag", ".am", ".at", ".be", ".biz", ".bz",
".cc", ".de", ".es", ".eu", ".fm", ".gs", ".hk", ".in", ".info", ".io", ".it", ".jp", ".la",
".md", ".ms", ".name", ".nl", ".nu", ".org", ".pl", ".ru", ".sc", ".se", ".sg", ".sh", ".tc",
".tk", ".tv", ".tw", ".us", ".co",".uk", ".vc", ".vg", ".ws", ".il", ".li", ".nz"
不懂运行,下载完可以私聊问,可远程教学
该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用!
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。
3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。
下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
---------------------------------------------------------------------------------------------------------------------------------------------------------
if (strpos($str, $old_domain) !== false) {
// 使用 str_replace 函数进行替换
$str = str_replace($old_domain, $new_domain, $str);
echo $str; // 输出:这是一个包含旧域名的字符串:http://www.new.com/path/to/file.html
这段代码中,我们首先定义了待替换的字符串 `$str`,然后定义了需要替换的旧域名 `$old_domain` 和需要替换成的新域名 `$new_domain`。接着,使用 `strpos` 函数判断字符串中是否包含旧域名,如果包含则使用 `str_replace` 函数进行替换。最后输出替换后的字符串。