当网页上的文字环绕到下一行因为它到达模板的末尾时,是否在代码中创建了与<br>
不同的隐藏换行符?
我正在尝试在Javascript中执行.replace()
,但它找不到跨越两行的短语。有没有办法绕过这个,所以我的Javascript代码可以工作?
答案 0 :(得分:3)
没有。在浏览器内部(或甚至在单个元素内)进行自动换行不会导致换行符插入标记。
在JavaScript中检测自动换行也没有好办法。
您可能希望针对您的目标发布另一个问题,以便我们就如何完成您真正想要的事情提出建议。
答案 1 :(得分:1)
换行符(\n
或<br />
)与文本布局引擎的自动文本换行不同。 \n
或<br />
强制布局引擎包装该行,并且可以作为字符(\n
)或标记(<br />
)检测到,但是自动换行不会产生新的字符或标记。您只能测试容器的高度猜测是否处理自动换行的文本。
答案 2 :(得分:0)
在表达式的一部分中包含空格:
s.replace(/stuff on line1[\s]+stuff on line 2/, 'replacement');
或只是换行符\n
和\r
:
s.replace(/stuff on line1[\\n\\r]+stuff on line 2/, 'replacement');
有一个多行标记(/m
),但据报道not universal。