php教程之获取网站ico文件地址
最近开发导航主题时,会获取某网站的ico图标及tdk(标题,关键词,描述)等内容,这类其实都是存在接口的,但是难免会担心失效,所以变自己写了一个简单的,基本上90%的都能获取到吧,其余不能获取到的也就是一些反爬虫的站点吧。下面就会为大家分享一下实现过程。
一、URL验证
第一步是去url链接验证,不外乎就是是否是url,然后验证url中是否包含有http(https)等;
如果没有则添加,很简单的。
二、获取根目录文件
大部分站点的ico图标都是类似如下:
https://www.laoyublog.com/favicon.ico
所以这里可以直接尝试访问该路径,判断是否存在,如不存在则进行下一步处理。
三、提取链接
preg_match('|href\s*=\s*[\"\']([^<>]*?)\.ico[\"\'\?]|i',$file,$a);
通过以上正则对页面进行提取,提取包含ico链接,然后对链接进行组合。
这里会出现几个情况,部分站点的写法不同,所以需要优化
<link rel="shortcut icon" href="/xxxx/favicon.ico"/> <link rel="shortcut icon" href="./xxxx/favicon.ico"/> <link rel="shortcut icon" href="../xxxx/favicon.ico"/>
如上,这类写法就需要对ico链接进行替换,然后再判断是否存在ico文件,到此就是关于php获取ico文件url的教程。
附:资源为获取ico图标链接php文件,只获取,不进行保存,保存需要自行保存本地,保存其实是非常简单的,主要是获取链接。