2010-08-05 6 views
2

많은 사용자가 링크를 만들기 위해 일반 URL을 입력하고 Textile 형식을 사용하지 않습니다. Textile이 URL의 URL에 링크 가능하게 만들고 싶습니다. XSS 나 악의적 인 것은 사용자 그룹이 매우 적은 내부 네트워크이므로 걱정할 필요가 없습니다. 이 기능을 구현하는 가장 좋은 방법은 무엇입니까?일반 URL에서 링크를 만들려면 어떻게 텍스쳐를 만들 수 있습니까?

Ruby 버전의 RedCloth를 사용하고 있습니다.

답변

1

RedCloth에서 URL을 클릭 가능한 링크로 변환 할 수 있는지 확실하지 않지만 auto_link이라는 Rails 텍스트 도우미가 있습니다.

+0

흥미 롭. 나는 이미 Texture를 통해 데이터를 보내고 있으므로 다른 파서를 통해 그것을 보내고 싶지 않다. – Sixty4Bit

3

어때?

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. 
+0

답변을 작성하고 거기에 새 코드를 추가하십시오. – Yaroslav

+0

다른 사람들의 답변을 편집하여 전체 답변을 한 번에 볼 수 있으며 모든 의견을 읽을 필요가 없습니다. – Yaroslav

관련 문제