I'm looking for a way to truncate links displayed in my text.
Ie: <p><I want to share a link : http://www.itabc.org/wp-content/uploads/2013/10/Tools-for-Ruby-on-Rails-logo.jpg it rocks!</p>
Into : <p>I want to share a link : http://www.itabc.org/wp-con... it rocks!</p>
I want obviously to keep my href working.
Do you have any advice for me? I guess I need to create an helper.
EDIT:
The text ins't static in my views, I want to manage content posted by users in messages, so I have to find a way to truncate links automaticaly
thx
You can use the truncate helper:
= link_to truncate(text, length: 20), path
You can specify the number of characters and the omission (...), for example.
Edit
You need to combine what is suggested on this answers and the truncate method.
Related
i know <h2>Hamburger</h2> are good, but how about this:
<div><h2>Food ยป Hamburger</h2></div>
or thats are ok for google seo?
The tag with an anchor link inside it will work same as a normal tag for Google SEO. Both the methods are Ok, but the problem that can occur is your readers may go away because you added a hyperlink in the Heading text of your webpage. So, it is not a good practice to use hyperlinks in tags or any tag.
can someone please advice me on how I can display hyperlink words instead of the full pdf links on my whatsApp share text field, I have started with this:
https://wa.me/?text=Aqua-Right%203%20https://rolfesagri.co.za/wp-content/uploads/2021/01/Aqua_Right_3_Label-1.pdf, http://rolfesagri.co.za/wp-content/uploads/2021/01/Aqua_Right_3_SDS-1.pdf, http://rolfesagri.co.za/wp-content/uploads/2021/02/Aqua-Right_Range_Eng_Pamphlet.pdf
This link needs to look like this when you send it to someone:
Aqua-Right 3 Label, SDS, Pamphlet
Is this possible?
These are three different links and you need to treat a link using the <a> tag.
See the documentation for the detail but your code will look like:
Label
<a href="https://wa.me/?text=Aqua-Right%203%20http://rolfesagri.co.za/wp-content/uploads/2021/01/Aqua_Right_3_SDS-1.pdf>SDS</a>
<a href="https://wa.me/?text=Aqua-Right%203%20http://rolfesagri.co.za/wp-content/uploads/2021/02/Aqua-Right_Range_Eng_Pamphlet.pdf>Pamphlet</a>
This is completely untested on what the link itself will do but is the right syntax to display a link on a webpage
In my rails application, people are supposed to submit "posts." However, in the default scaffolding, there are some problems in the text input: not allowed HTML code, changing the line doesn't work, etc. From what I've learned, I need to use a markdown-markup language to solve this issue. Is there a guide for me to follow to apply such language to solve my problem?
UPDATE: Here are my problems.
1) Every sentence is combined into one line even if I put a line space.
first line
second line
becomes
first line second line
2) I can't make text bold, italicized, or hyperlink. Like in stackoverflow, user should easily put <b> and make bold text, ** to make italicized, etc. And URL address should automatically be translated to href link.
To do these, I thought I had to use markdown library. I could be mistaken, so I needed someone to guide me through. Railscasts on Markdown
Well, yes, new lines in HTML have no meaning. You need to replace line breaks with <br> to preserve them in HTML. To automatically highlight links, you need to look for links in the text and wrap them in appropriate <a> tags. Finally, if you're not filtering HTML tags, they should still be in there. It all depends on what you're doing. Markdown is something entirely different, a special markup language that enables you to do the above while being easier to write than HTML. It depends on what you want to use.
In my application I have places where users can send messages and leave comments on content. So to keep this simple, I have Comment, with and id (integer) and body (text).
When printing these in HTML, I want the user's formatting, for example a comment might be entered like this:
comment added
with an enter
In the database, this comes to be:
comment.body.last
"comment added\r\n\r\nwith an enter"
On my page then, this comes to simple look like "comment added with an enter". What I'm wondering is if there is a way in my view to let it know I want to render these enter characters? As 's or something? Does anyone know how to preserve the user's format?
Thanks a ton guys.
simple_format will format text in the way you are describing. It's built in to Rails.
Use simple_format: http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format
<%= simple_format(your_string_variable) %>
I am using FckEditor in Create.aspx page in asp.net mvc application.
Since I need to show rich text in web pages, I used ValidateInput(false) attribute top of action method in controller class.
And I used Html.Encode(Model.Message) in Details.aspx to protect user's attack.
But, I had result what I did not want as following :
<p> Hello </p>
I wanted following result not above :
Hello
How can I show the text what user input?
Thanks in advance
The short answer is that HTMLEncode is making your markup show like that. If you don't HTMLEncode, it will do what you want.
You need to think about whether or not you need full control of markup, who is entering the markup, and if an alternative like BBCode is an option.
If your users using the editor are all sure to be 'safe' users, then XSS isn't likely to be as much a concern. However, if you are using this on a comment field, then BBCode, or something like SO itself uses is more appropriate.
You wont be able to use a WYSIWYG editor and do HTMLEncode though... (without BBCode, or some other token system)
It seems the user entered "<p> Hello </p>" (due to pressing Enter?) into the edit control, and it is displaying correct in the HTML as you have done an Html.Encode. E.g. the paragrahs are not rendered, they are outputted as "<p>..</p>" as the string is HTML encoded into something like "<p> Hello <p>".
If you do not want tags, I would suggest searching the text string for tags (things with <...>) and removing them from the inputted text. Do this before HTML.Encode.
...or am I missing something?
You can use HttpServerUtility.HtmlEncode(String)