- 95浏览
- 2022-06-29
要获取网站的TDK(Title、Description和Keywords)信息和ICO图标,可以使用PHP中的cURL库来发送HTTP请求,并解析返回的HTML内容。以下是一个示例代码,演示如何获取网站的TDK和ICO图标:
function getWebsiteTDK($url) {
// 创建cURL资源
$ch = curl_init();
// 设置URL和其他 cURL 选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 执行cURL请求,获取网页内容
$html = curl_exec($ch);
// 关闭cURL资源
curl_close($ch);
// 使用正则表达式提取网页的TDK信息
$pattern = '/<title>(.*?)<\/title>.*?<meta[^>]*name="description"[^>]*content="(.*?)".*?<meta[^>]*name="keywords"[^>]*content="(.*?)"/is';
preg_match($pattern, $html, $matches);
// 返回TDK信息
if (isset($matches[1])) {
$title = $matches[1];
} else {
$title = '';
}
if (isset($matches[2])) {
$description = $matches[2];
} else {
$description = '';
}
if (isset($matches[3])) {
$keywords = $matches[3];
} else {
$keywords = '';
}
return array(
'title' => $title,
'description' => $description,
'keywords' => $keywords
);
}
function getWebsiteFavicon($url) {
// 创建cURL资源
$ch = curl_init();
// 设置URL和其他 cURL 选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
// 执行cURL请求,获取网页头部信息
$header = curl_exec($ch);
// 关闭cURL资源
curl_close($ch);
// 使用正则表达式提取网页头部的ICO图标链接
$pattern = '/<link[^>]*rel="shortcut icon"[^>]* href="([^"]*)"/i';
preg_match($pattern, $header, $matches);
// 返回ICO图标链接
if (isset($matches[1])) {
$favicon = $matches[1];
} else {
$favicon = '';
}
return $favicon;
}
// 要获取TDK和ICO图标的网站URL
$url = '网站URL'; // 替换为实际的网站URL
// 获取网站的TDK信息
$tdk = getWebsiteTDK($url);
// 获取网站的ICO图标链接
$favicon = getWebsiteFavicon($url);
// 输出结果
echo "Title: {$tdk['title']}\n";
echo "Description: {$tdk['description']}\n";
echo "Keywords: {$tdk['keywords']}\n";
echo "Favicon: {$favicon}\n";
在以上示例中,我们定义了两个函数。getWebsiteTDK 函数用于获取网站的TDK信息,getWebsiteFavicon 函数用于获取网站的ICO图标链接。我们使用cURL库发送HTTP请求来获取网页内容或头部信息。然后,我们使用正则表达式从返回的HTML内容或头部信息中提取所需的信息。
你只需要将 网站URL 替换为实际的网站URL,然后运行代码即可获取网站的TDK和ICO图标链接。
请注意,这里的示例仅提供了基本的获取方法,并没有处理异常情况或错误处理。在实际使用时,建议加入适当的错误处理机制,以确保代码的健壮性和可靠性。
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。