2013-04-15 55 views
1

使用Ruby/Rails有沒有人知道如何獲取一個可能包含一些HTML元素的大字符串並將它們變爲鏈接?使用Ruby/Rails將字符串鏈接轉換爲可單擊的鏈接

這是一個例子:

"Check out my video on you tube http://youtu.be/OkCcD6cOKgs" 

我在尋找的東西會變成HTML到一個有效點擊的鏈接<a href ...也原樣保留其他的文字,就像這個問題一樣。

+0

你是什麼意思的「HTML元素」?它們是URL嗎,就像樣本字符串中的標籤或標記一樣?如果他們只是URL,他們總是在字符串的末尾,或者URL後面是標點符號還是更多的單詞?您需要定義這些東西以獲得解決您需求的良好答案。很容易找到適用於上述句子的解決方案。讓我們找到一個能找到你所有字符串的解決方案。 –

+0

這個問題已經在這裏得到解答:http://stackoverflow.com/questions/3095230/convert-plain-text-urls-to-html-hyperlinks-in-ruby-on-rails –

回答

0

您可以將該字符串標記爲html_safe。我相信你所需要做的是string.html_safe

這是如果你問如何正確顯示字符串中的HTML元素,當它們已經存在於字符串中。

如果要將URL更改爲HTML鏈接,則始終可以使用助手方法檢查字符串中是否存在http,並相應地添加HTML元素。

+0

這允許html標籤工作,但我正在尋找一種方法來將字符串轉換爲可點擊的鏈接,即「http ...」,以便用戶不必輸入bar

-2

HTML可能會更容易。在你看來:

<h2> <!--Or whatever tag you're using--> 
    Check out my video on 
    <a href="http://http://youtu.be/OkCcD6cOKgs/">YouTube</a> 
</h2> 
+1

這是如何更容易? OP如何從包含URL的字符串獲得HTML?這就是問題所在。 –

+0

這個問題的表達方式,我並不完全清楚它是什麼(即如果這是一個元素添加到他的網站的評論部分,或者如果這是他添加到他的意見,或者如果這真的只是一個直接的Ruby問題,即使他提到了Rails)。 – aceofbassgreg

0

我知道這是爲時已晚,但如果有人仍然有這個問題,那麼他就可以做到這一點的方式。

text = "Check out my video on you tube http://youtu.be/OkCcD6cOKgs" 
html_text = text.gsub(URI.regexp, '<a href="\0">\0</a>').html_safe 

這是我從這裏找到的最佳方式Ruby: make plain text links clickable至今。

相關問題