私のユーザーの多くは、テキスト形式の URL を入力しており、リンクの作成に Textile 形式を使用していません。私はテキスタイルに URL を URL にリンクできるようにしてほしいと思っています。XSS や悪意のあるものについて心配する必要はありません。これは非常に小さなユーザー グループの内部ネットワークだからです。この機能を実現するための最良の方法は何ですか?
私は RedCloth の Ruby バージョンを使用しています。
これはどう?
def urls2links( s )
s.gsub(
/([^:])((https?|ftp)\:\/\/[^\s)'"]+[^.,)\s])(. |, |[\s]|\) | )/,
'\1<a href="\2" target="_blank">\2</a>\4')
end
def textile2html( s )
textilize(urls2links(s)).html_safe
end
このテキストを使用してテストします。
Plain urls converted to external links by my textile2html helper:
* http://www.google.com
* http://www.google.com,
* http://www.google.com.
RedCloth が URL をクリック可能なリンクに変換できるかどうかはわかりませんが、auto_link という名前の Rails テキスト ヘルパーがそれを可能にします。