Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式:如何像DOM渲染器那样删除额外的空格/换行符(处理)_Javascript_Html_Regex - Fatal编程技术网

Javascript 正则表达式:如何像DOM渲染器那样删除额外的空格/换行符(处理)

Javascript 正则表达式:如何像DOM渲染器那样删除额外的空格/换行符(处理),javascript,html,regex,Javascript,Html,Regex,我想从HTML标记中“去除”所有(有些)不必要的空白 Obj: 呈现: 对于这样的nodeValue,它非常有效 然而,当有一个不间断的空格时,正如我们所知,浏览器呈现的方式不同 Obj: 呈现: 我想像DOM渲染器一样“剥离”字符串 做这项工作的正则表达式是什么?有没有其他陷阱,我可能会削减一些实际上是“需要”的渲染 注意:我正在操作innerHTML,因此客户端无法帮助我…将/\s\s+//code>替换为“就可以了。这将用一个空格替换所有两个或更多的空格: myStr = mySt

我想从HTML标记中“去除”所有(有些)不必要的空白

Obj:

呈现:

对于这样的nodeValue,它非常有效


然而,当有一个不间断的空格
时,正如我们所知,浏览器呈现的方式不同

Obj:

呈现:


我想像DOM渲染器一样“剥离”字符串

做这项工作的正则表达式是什么?有没有其他陷阱,我可能会削减一些实际上是“需要”的渲染


注意:我正在操作
innerHTML
,因此客户端无法帮助我…

/\s\s+//code>替换为
就可以了。

这将用一个空格替换所有两个或更多的空格:

myStr = myStr.replace(/\s{2,}/g,' ');

但是,这将在您有
标记的任何地方中断,或者更一般地说,在应用CSS
空白:pre
的任何地方中断。为了有效,您需要对相关元素执行
getComputedStyle()
,然后只对空白不重要的文本节点应用此转换。

不要使用正则表达式来处理HTML。你最终只会得到一份垃圾文件。用于这些事情,阅读regex+html=BAD@MarcB我知道,我可能会被最著名的so线程击中的原因:)别担心,我知道我在做什么…@AronWoost什么?不,如果您正在对标记进行操作,则不会。