用于统计目的的网址唯一性

时间:2012-09-01 15:19:42

标签: php mysql url

我有用户和数据库中的链接 将被保存

对于facebook,网址可能是这样的

www.facebook.com
http://facebook.com
https://facebook.com
facebook.com
http://www.facebook.com
https://www.facebook.com

但是在向facebook展示整体统计数据时,我如何一次查询所有内容 或者有没有办法在数据库中保存网址

2 个答案:

答案 0 :(得分:3)

您可以在数据库中创建一个方案,为每个URL存储两个数据 - 文字网址和标准网址。你所做的就是存储你看到它的URL(上面列出的变体),但使用正则表达式,你将它修剪为像facebook.com这样的东西并将其存储在数据库中。

现在,您可以通过搜索facebook.com查找所有Facebook网址,但您也知道每个条目最初是如何输入的。

答案 1 :(得分:0)

在计算特定网址的出现次数时,您可以使用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
?>

如果您添加从表中获取数据的相关代码,则代码可以更具体。