在JavaScript中引用的文本中插入换行符

3
使用JavaScript进行一些文本交换(推荐语淡入淡出),希望在引号内插入<br/>的等效内容,以便引用者位于下一行。 在下面的代码中,我尝试遵循JavaScript:如何向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/>)呢?或者,那些推荐信是来自您无法编辑的来源吗? - Robot Woods
2个回答

3

你在这里做了一些非常奇怪的事情。为什么要将“正则表达式”插入到你的变量中?

fiddle:
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?/是一个正则表达式,表示“换行符”后跟0个或1个“回车符号”。

'/\n\r?/'是一个字符串,可能看起来像这样:

/
/


0

借鉴你提供的链接:

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"];

嗯,那完全破坏了文本交换功能。还有其他方法吗? - grace
仍然不行:\ 你有没有其他推荐的脚本可以用淡入淡出的方式交换推荐? - grace
它不起作用是因为你把正则表达式放进了一个字符串里。如果你从字符串中删除/?/g,它应该可以工作。 - Daedalus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接