2012-01-11 50 views
-2

テキストのURLを検出し、URLが画像であるかどうかを判断するにはどうすればよいですか?テキスト内のリンクを検出し、それが画像かどうかを確認してください

可能であれば、私はこれをjavascriptで行いたいと思います。基本的に私は、私のユーザーが自分のコメントを入力します。時には彼らは画像のリンクを貼り付けます。

URLが画像の場合、画像をプレビューしたいと思います。拡張子をチェックすることは、.php拡張がイメージを与えることができるので、私が望む解決策ではないかもしれません。

+0

正規表現を使用して、jpg、tif、bmp、gifなどで終わるURLを検索することができます。 –

+2

これはどの言語で行いますか?あなたがOKであなたの質問のタグを付けた3人のうちの1人ですか? 「URLが画像の場合」の条件は何ですか?「.jpg」や「.png」などの一般的な画像の拡張子をテストするだけですか、実際にそのURLでリソースを取得して形式を確認しますか? – nnnnnn

+0

合意。あなたは実際にあなたがこれをやっている言語とどのような目的のために説明するべきですか? –

答えて

0

URLを認識してもよろしいですか? URLに 'http://'または 'https://'が含まれている必要がある場合、問題はかなり簡単です。 (str.split()関数を使用して)テキストを分割し、各リスト要素を検索してキーワード( 'http://'など)が含まれているかどうかを確認します。ターゲットURLが画像であるかどうかを判断するには、リスト内包表記(some_url [-3:])を使用して、そのリスト項目の最後にファイル拡張子を取得します。そのファイル拡張子を、既知の画像ファイル拡張子のリストと照合します。

+0

それは私が最終的に何をしたのです。 タグのsrc属性が画像でない場合、「エラー」というイベントが発生することがわかりました。私の回避策はこの「エラー」イベントに依存することです。イベントが発生した場合は、 DOMをWebページから削除します。 – Houston

+0

..良いもの:) –

0

getimagesize関数を使用することをお勧めします。この関数は、ファイルがimageの場合は7要素の配列を返し、失敗の場合はFALSEを返します。

0

確実に行うのは難しいでしょうが、正規表現で試すことができます。

http://であなたの正規表現を起動して、あなたが興味を持っている他の拡張機能 .jpgの1、 .pngと何でそれを終えた後、非空白文字の任意のシーケンスに一致する。画像の拡張子で .に注意してくださいエスケープする必要があります

REの後ろに単語境界を含める必要があります。がんばろう!

関連する問題