在javascript中引用的文本中插入换行符
Posted
技术标签:
【中文标题】在javascript中引用的文本中插入换行符【英文标题】:inserting line breaks in text quoted in javascript 【发布时间】:2012-05-28 11:39:40 【问题描述】:使用 javascript 进行一些文本交换(推荐淡入/淡出),并希望在引号内插入相当于 <br/>
的内容,以便引号的作者在下一行。在下面的代码中,我尝试按照JavaScript: How to add line breaks to an html textarea? 的说明进行操作,但不知道如何插入/\n\r?/g
以使其工作。
<script type="text/javascript">
var text = document.forms[0].txt.value;
text = text.replace(/\n\r?/g, '<br />');
</script>
<script type="text/javascript">
window.testimonials = [
'"This was a great experience" /\n\r?/g - Max Cameron, ThinkTank',
'"This was a great experience" /\n\r?/g - Max Cameron, ThinkTank',
"source code"
];
</script>
有没有办法强制它进入下一行?谢谢!
【问题讨论】:
如果您插入/\n\r?/g
(听起来是这样),为什么不直接使用您想要的文本(<br/>
),或者,这些推荐来自您无法编辑的来源?
【参考方案1】:
你在这里做了一些很奇怪的事情。为什么要在变量中插入“正则表达式”?
小提琴:http://jsfiddle.net/4Fheu/
试试这个:
<script type="text/javascript">
var text = window.testimonial; // or maybe: document.forms[0].txt.value;
text = text.replace(/\n\r?/g, '<br />');
alert(text);
</script>
<script type="text/javascript">
window.testimonials = [
'"This was a great experience" \n - Max Cameron, ThinkTank',
'"This was a great experience" \n - Max Cameron, ThinkTank',
"source code"
];
</script>
/\n\r?/
是一个正则表达式,它表示:'newline' 后跟 0 或 1 '回车'。
'/\n\r?/'
的值是一个可能如下所示的字符串:
/ /
【讨论】:
【参考方案2】:Borrowing from what you linked to:
window.testimonials = [
'"This was a great experience" /\n\r?/g - Max Cameron, ThinkTank'.replace(/(\n\r?)|(,)/g, '<br />');,
'"This was a great experience" /\n\r?/g - Max Cameron, ThinkTank'.replace(/(\n\r?)|(,)/g, '<br />');,
"source code"];
【讨论】:
hm,这完全破坏了文本交换功能。有没有其他办法? 还是不行 :\ 你有没有推荐其他脚本来用淡入淡出转换交换推荐? 它不起作用,因为您将正则表达式放入字符串中。如果您从字符串中删除/
和?/g
,它应该可以工作。以上是关于在javascript中引用的文本中插入换行符的主要内容,如果未能解决你的问题,请参考以下文章