简体   繁体   English

加 <br /> jQuery / JavaScript中每行结束后的标签

[英]Add <br /> tag after end of every line in jQuery / JavaScript

I have a <textarea> field for user input. 我有一个<textarea>字段供用户输入。 I want this - When user paste their text in that field and click some button it will automatic add a line break tag <br /> after the end of every line. 我想要这样-当用户将其文本粘贴到该字段中并单击某个按钮时,它将在每行末尾自动添加一个换行标记<br />
My html form look like this. 我的html表单如下所示。

 <div class="comment"> <textarea class="form-control page_details" rows="5" id="text" placeholder="Detail here" name="details"></textarea> <button type="button">Generate</button> </div> 

and when user paste their text on textarea field like. 当用户将其文本粘贴到textarea字段上时。

Lorem ipsum dolor sit amet, Lorem ipsum dolor坐在amet,
consectetuer adipiscing elit, 保密专家,
sed diam nonummy nibh euismod tincidunt sed diam nonummy nibh euismod tincidunt
ut laoreet dolore magna aliquam ut laoreet dolore magna aliquam
erat volutpat. 擦除volutpat。

When clicking the button it will look like this. 当单击按钮时,它将看起来像这样。

Lorem ipsum dolor sit amet, <br /> Lorem ipsum dolor坐在amet, <br />
consectetuer adipiscing elit, <br /> consectetuer adipiscing精英, <br />
sed diam nonummy nibh euismod tincidunt <br /> sed diam nonummy nibh euismod tincidunt <br />
ut laoreet dolore magna aliquam <br /> ut laoreet dolore magna aliquam <br />
erat volutpat. 擦除volutpat。 <br />

Help me out guys. 帮帮我。

You could use String.protototype.split() with RegExp /\\n|\\s\\n/ , Array.prototype.join() with parameter "<br>\\n" , concatenate "<br>" to end of replacement textarea value 您可以将String.protototype.split()RegExp /\\n|\\s\\n/ ,将Array.prototype.join()与参数"<br>\\n" ,将"<br>"连接到替换textarea末尾value

 function addBreak(el) { var textarea = el; var matches = textarea.value.split(/\\n|\\s\\n/); textarea.value = matches.join("<br>\\n") + "<br>"; } 
 <div class="comment"> <textarea class="form-control page_details" rows="5" id="text" placeholder="Detail here" name="details"></textarea> <button type="button" onclick="addBreak(this.previousElementSibling)">Generate</button> </div> 

Use on paste event. 在粘贴事件上使用。

 $("button").on("click",function(){ $("#text").bind("paste", function(e){ $('#txtarea').append('<BR>').focus(); }); }); 
 <div class="comment"> <textarea class="form-control page_details" rows="5" id="text" placeholder="Detail here" name="details"></textarea> <button type="button">Generate</button> </div> 

I'd cover my bets by handling \\r\\n (the sequence), and then handling \\r and \\n through a character class, like this: 我会先处理\\r\\n (顺序),然​​后再通过字符类处理\\r\\n ,以此来下注:

text = text.replace(/\r\n/g, '<br />').replace(/[\r\n]/g, '<br />');

The first replace turns the sequence \\r\\n into <br /> . 第一个替换将序列\\r\\n转换为<br /> The second replace replaces any \\r or \\n characters found on their own with the string. 第二个替换用字符串替换自己找到的任何\\r\\n字符。

More on regular expressions in JavaScript here . 有关JavaScript中正则表达式的更多信息,请参见此处

Replace the new line characters with <br/> <br/>替换换行符

var pastedText = $("#text").val();
pastedText = pastedText.replace(/(\r\n|\n|\r)/gm, "<br>");

Jquery 或 javascript 添加一个换行符<br>在 a 中的 x 个字符之后<div></div><div id="text_translate"><p>我正在寻找一种在&lt;div&gt;中仅前 4 或 5 个字符之后插入&lt;br /&gt;的方法。</p><p> 示例: &lt;div id="wine-name"&gt; 2008 年赤霞珠&lt;/div&gt;</p><p> 显示如下:<br><br> <strong>2008年</strong><strong><br></strong><strong>赤霞珠</strong></p><p>不确定 javascript 或 jQuery 哪个更容易。 该网站已经在使用 jQuery。</p><p> 有任何想法吗?</p></div> - Jquery or javascript to add one line break <br /> after x amount of characters in a <div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何添加 <br /> 在每一行的末尾 <pre> 标签? - How To Add <br /> In The End Of Every Line In <pre> Tag? 为输出中的每个空行添加一个 BR 标签 - Add a BR tag to every empty line in output 加 <br> 在具有特定类别的每个标签/元素之后 - Add <br> after every tag/element with a particular class 如何在jQuery中的每组新数据之后放置一个br标签 - how to put a br tag after every set of new data in jquery jQuery如何插入 <br/> 每个分号后标记 - jQuery how to insert <br/> tag after every Semicolon Jquery 或 javascript 添加一个换行符<br>在 a 中的 x 个字符之后<div></div><div id="text_translate"><p>我正在寻找一种在&lt;div&gt;中仅前 4 或 5 个字符之后插入&lt;br /&gt;的方法。</p><p> 示例: &lt;div id="wine-name"&gt; 2008 年赤霞珠&lt;/div&gt;</p><p> 显示如下:<br><br> <strong>2008年</strong><strong><br></strong><strong>赤霞珠</strong></p><p>不确定 javascript 或 jQuery 哪个更容易。 该网站已经在使用 jQuery。</p><p> 有任何想法吗?</p></div> - Jquery or javascript to add one line break <br /> after x amount of characters in a <div> 如何在每个与 jquery 的链接后添加“br”? - How can i add “br” after every link with jquery? 添加Javascript正则表达式 <br> 每n个字之后-没有CSS - Javascript Regex to add <br> after every n number of words - No CSS 之后添加换行符 <p> 使用Javascript / jquery标记 - Add line break after <p> tag using Javascript/jquery 是否可以插入<br>仅在超过 5 个单词的字符串上每 5 个单词后标记,并添加<br>和 ”。” (点) - Is it possible to insert <br> tag after every 5 words only on the string which has more than 5 words and also add <br> with “.” (dot)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM