使用Ruby/Rails有沒有人知道如何獲取一個可能包含一些HTML元素的大字符串並將它們變爲鏈接?使用Ruby/Rails將字符串鏈接轉換爲可單擊的鏈接
這是一個例子:
"Check out my video on you tube http://youtu.be/OkCcD6cOKgs"
我在尋找的東西會變成HTML到一個有效點擊的鏈接<a href ...
也原樣保留其他的文字,就像這個問題一樣。
使用Ruby/Rails有沒有人知道如何獲取一個可能包含一些HTML元素的大字符串並將它們變爲鏈接?使用Ruby/Rails將字符串鏈接轉換爲可單擊的鏈接
這是一個例子:
"Check out my video on you tube http://youtu.be/OkCcD6cOKgs"
我在尋找的東西會變成HTML到一個有效點擊的鏈接<a href ...
也原樣保留其他的文字,就像這個問題一樣。
您可以將該字符串標記爲html_safe
。我相信你所需要做的是string.html_safe
。
這是如果你問如何正確顯示字符串中的HTML元素,當它們已經存在於字符串中。
如果要將URL更改爲HTML鏈接,則始終可以使用助手方法檢查字符串中是否存在http,並相應地添加HTML元素。
這允許html標籤工作,但我正在尋找一種方法來將字符串轉換爲可點擊的鏈接,即「http ...」,以便用戶不必輸入bar –
HTML可能會更容易。在你看來:
<h2> <!--Or whatever tag you're using-->
Check out my video on
<a href="http://http://youtu.be/OkCcD6cOKgs/">YouTube</a>
</h2>
這是如何更容易? OP如何從包含URL的字符串獲得HTML?這就是問題所在。 –
這個問題的表達方式,我並不完全清楚它是什麼(即如果這是一個元素添加到他的網站的評論部分,或者如果這是他添加到他的意見,或者如果這真的只是一個直接的Ruby問題,即使他提到了Rails)。 – aceofbassgreg
斯普利特最後一個分隔符:How to split a string into only two parts, by the last occurrence of the split char?
text, uri = "Check out my video on you tube http://youtu.be/OkCcD6cOKgs".split(/ (?=\S+$)/)
<%= link_to text, uri %>
我知道這是爲時已晚,但如果有人仍然有這個問題,那麼他就可以做到這一點的方式。
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至今。
你是什麼意思的「HTML元素」?它們是URL嗎,就像樣本字符串中的標籤或標記一樣?如果他們只是URL,他們總是在字符串的末尾,或者URL後面是標點符號還是更多的單詞?您需要定義這些東西以獲得解決您需求的良好答案。很容易找到適用於上述句子的解決方案。讓我們找到一個能找到你所有字符串的解決方案。 –
這個問題已經在這裏得到解答:http://stackoverflow.com/questions/3095230/convert-plain-text-urls-to-html-hyperlinks-in-ruby-on-rails –