HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0214
bURL識別7未解決


b

リンク

2016/2/14(Sun) 17:20:06|NO.74609

いま、ウェブブラウザを作ってます。
GoogleChromeなどのブラウザは、アドレスバーに入力するだけで、
検索もurl指定もどちらもできます。
Edgeは.(ドット)のみを使って判別しているようですが、GoogleChromeは違うようです。
どうやったら、検索キーワードとURLを確実に判別できますか?



この記事に返信する


kanamaru

リンク

2016/2/14(Sun) 17:27:13|NO.74610

昔自作ブラウザのURLバーに検索機能を付けたことがあるのですが、
その時はスペースの有無で判断しました。
というのも、知り合いが、chromeがそうなっていると言っていたからです。



kanamaru

リンク

2016/2/14(Sun) 17:30:32|NO.74611

確実にしたかったら、://の有無も同時に調べるのもいいかもしれません。
URLは必ずスキームが付いているので。



cats

リンク

2016/2/14(Sun) 17:34:02|NO.74612

正規表現による検出が最も簡単で正確だと思います。
(対応しているプロトコルを把握しておくこと)
http://www.ipentec.com/document/document.aspx?page=regularexpression-url-detect



スペース

リンク

2016/2/14(Sun) 20:27:38|NO.74613

kanamaruさんの言うようにスペースの有無で調べるのが良いと思います。
://の有無も調べるとなると、例えば「http://www 意味」で検索したい時に不便です。
スペースが無いからurlとして扱ったけど接続できない or ping打っても応答がなかったら検索する・・・とかも良いかもしれない。



b

リンク

2016/2/15(Mon) 06:11:39|NO.74617

pingは応答しないサーバーもあるそうで
また、スペースのない言葉一つが検索できないのでは



Velgail

リンク

2016/2/15(Mon) 11:03:27|NO.74619

URLスキームが無いと検索にまわる某ブラウザでは怒りを覚えますねw

さて、はっきりというと確実に分ける方法は「ありません」
(そりゃhttp://hogehoge/みたいな内部ページまで識別できるのなら凄いものですよ)

とはいえ、工夫する方法なら色々とありますよ。
1. 半角スペースが含まれていれば必ず検索キーワード (From NO.74610)
2. /で区切った際、1番目がhttp:及びhttps:であればURL //もっと正確にURIスキームである場合とか?
3. /で区切った際、トップレベルドメインを含む有効なドメイン名であればURL(トップレベルドメインとかで簡易判別すればいいかな)
4. [0-255].[0-255].[0-255].[0-255]の組み合わせはURL
5. [0-255].[0-255].[0-65535]/および[0-255].[0-16777215]/および32bit整数値/はURL(微妙ですがね)
6. 以上の条件を満たさない場合は全部検索キーワード

実装は…… 
https://drive.google.com/open?id=0B3Iyqr1DZrPqZGRSNk1MUkVjZTQ

最後のreturn 0を変更すれば、「多分これは検索キーワード」のシグナルにできる……はず。
#色々と端折った設計なので、実用には向かないです。そもそもコメントが……ないw



b

リンク

2016/2/15(Mon) 15:50:59|NO.74620

おーすごい
ありがとうございます!
ちょっとまた研究してみます。



ONION software Copyright 1997-2023(c) All rights reserved.