3

ユーザーがリンクを張っており、データベースに保存されます

Facebookの場合、URLは次のようになります

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

しかし、Facebookに全体的な統計を表示しながら、一度にすべてを照会するにはどうすればよいですか、またはURLをデータベースに保存する方法はありますか

4

2 に答える 2

3

URL ごとに 2 つのデータ (リテラル URL と標準化された URL) を格納するスキームをデータベースに作成できます。あなたがすることは、あなたが見ているように URL を保存することです (上記のバリエーション) が、正規表現を使用して、facebook.com のようなものに切り詰めてデータベースに保存します。

これで、facebook.com を検索してすべての facebook の URL を調べることができますが、各エントリが最初にどのように入力されたかもわかります。

于 2012-09-01T15:27:40.447 に答える
0

特定の 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
?>

テーブルからデータをフェッチする関連コードを追加すると、コードはより具体的になります。

于 2012-09-01T15:38:04.267 に答える