3

この状況にはまだ疑いの余地がありません。文字列にリンクが含まれているかどうかを検出したくありません。つまり、http、ftp、https、および www. などのすべての組み合わせです。

基本的に、文字列にリンクが含まれないようにしたいと考えています。

私は現在使用しています:

name.split(/\s+/).find_all { |u| u =~ /^https?:/ }).count

文字列内のリンクを防ぐ最善の方法は何ですか?

4

1 に答える 1

6

私は最終的に使用しました:

errors.add(:name, "Your name cannot contain links") if name.match /\b(?:(?:mailto:\S+|(?:https?|ftp|file):\/\/)?(?:\w+\.)+[a-z]{2,6})\b/

これは、ほとんどすべての状況で非常にうまく機能します。オンラインの複数の情報源から一緒にハッキングされた

于 2013-10-14T23:53:36.903 に答える