Javascript 正则表达式:如何像DOM渲染器那样删除额外的空格/换行符(处理)
我想从HTML标记中“去除”所有(有些)不必要的空白 Obj: 呈现: 对于这样的nodeValue,它非常有效Javascript 正则表达式:如何像DOM渲染器那样删除额外的空格/换行符(处理),javascript,html,regex,Javascript,Html,Regex,我想从HTML标记中“去除”所有(有些)不必要的空白 Obj: 呈现: 对于这样的nodeValue,它非常有效 然而,当有一个不间断的空格时,正如我们所知,浏览器呈现的方式不同 Obj: 呈现: 我想像DOM渲染器一样“剥离”字符串 做这项工作的正则表达式是什么?有没有其他陷阱,我可能会削减一些实际上是“需要”的渲染 注意:我正在操作innerHTML,因此客户端无法帮助我…将/\s\s+//code>替换为“就可以了。这将用一个空格替换所有两个或更多的空格: myStr = mySt
然而,当有一个不间断的空格
时,正如我们所知,浏览器呈现的方式不同
Obj:
呈现:
我想像DOM渲染器一样“剥离”字符串 做这项工作的正则表达式是什么?有没有其他陷阱,我可能会削减一些实际上是“需要”的渲染
注意:我正在操作
innerHTML
,因此客户端无法帮助我…将/\s\s+//code>替换为“
就可以了。这将用一个空格替换所有两个或更多的空格:
myStr = myStr.replace(/\s{2,}/g,' ');
但是,这将在您有
标记的任何地方中断,或者更一般地说,在应用CSS空白:pre
的任何地方中断。为了有效,您需要对相关元素执行getComputedStyle()
,然后只对空白不重要的文本节点应用此转换。不要使用正则表达式来处理HTML。你最终只会得到一份垃圾文件。用于这些事情,阅读regex+html=BAD@MarcB我知道,我可能会被最著名的so线程击中的原因:)别担心,我知道我在做什么…@AronWoost什么?不,如果您正在对标记进行操作,则不会。