我有用户放置的链接,它们将保存在数据库中
对于 facebook,网址可能是这样的
www.facebook.com
http://facebook.com
https://facebook.com
facebook.com
http://www.facebook.com
https://www.facebook.com
但是在向 facebook 显示整体统计信息的同时,我如何一次查询所有数据或者有没有办法将 url 保存在数据库中
我有用户放置的链接,它们将保存在数据库中
对于 facebook,网址可能是这样的
www.facebook.com
http://facebook.com
https://facebook.com
facebook.com
http://www.facebook.com
https://www.facebook.com
但是在向 facebook 显示整体统计信息的同时,我如何一次查询所有数据或者有没有办法将 url 保存在数据库中
您可以在数据库中创建一个方案,为每个 URL 存储两条数据——文字 url 和标准化的。您所做的是存储您看到的 URL(上面列出的变体),但使用正则表达式,将其修剪为 facebook.com 之类的内容并将其存储在数据库中。
现在您可以通过搜索 facebook.com 来查找所有 facebook 网址,但您也知道每个条目最初是如何输入的。
在计算特定 URL 的出现次数时,您可以使用parse_url
~伪代码:
<?php
//Store all url variations from table
//in $all_urls (indexed array)
$fb_count = 0;
for($i=0;$i<count($all_urls);$i++){
$url = parse_url($all_urls[$i]);
if($url[host] == "facebook.com")
$fb_count++;
}
//Now do something/anything-you-want with $fb_count
?>
如果您添加用于从表中获取数据的相关代码,则该代码可以更具体。