ユーザーの Facebook アカウントのさまざまなソース (ユーザーのいいね! など) から URL を取得する Facebook アプリを作成しています。
私が遭遇した問題は、多くの Facebook エントリの「ウェブサイト」および「リンク」フィールドに URL ではない文字列が含まれていることです。Facebook はユーザー入力をチェックしないため、これらのフィールドには基本的に任意の文字列を含めることができます。
、、、、などのURLがすべて受け入れられるよう"http://google.com"
に、"https://www.bankofamerica.com"
これら"http://www.nytimes.com/2011/06/13/us/13fbi.html?_r=1&hp"
のフィールドの文字列を処理できるようにしたいと考えています。"bit.ly"
"www.pbs.org"
そして、のようなすべての文字列"here is a random string of text the user entered"
は"here'\s ano!!! #%#$^ther weird random string"
すべて拒否されます。
URL を「確実」にする唯一の方法は、URL を解決しようとすることだと私には思えますが、それは非常に多くのリソースを消費すると思います。
これらの文字列を正規表現またはその他の方法で分析して、URL の「多く」 (80%) が適切にキャプチャされるようにする賢い方法を考えられる人はいますか? URL の 95% 99.995%?
ありがとう!
編集: 参考までに、私は Python で開発しています。しかし、言語に依存しないソリューションも優れています。