Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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
是否有可能开发快速、安全的流式正则表达式HTML缩微?_Html_Regex_Minify - Fatal编程技术网

是否有可能开发快速、安全的流式正则表达式HTML缩微?

是否有可能开发快速、安全的流式正则表达式HTML缩微?,html,regex,minify,Html,Regex,Minify,我知道,永远不应该用正则表达式解析HTML。而解析是实现真正有效的HTML精简的唯一方法 但如果我不那么担心完美呢?我只想从我的HTML中得到合理数量的空白 我不想把正则表达式应用到一个大文件中,而是想把它应用到一个文件块流中 我目前的解决方案就是: (?<=>)\s+(?=<) (?)s+(?=取决于此。考虑此代码> HTML < /代码>代码片段: <div> <p>Some paragraph here</p> &l

我知道,永远不应该用正则表达式解析HTML。而解析是实现真正有效的HTML精简的唯一方法

但如果我不那么担心完美呢?我只想从我的HTML中得到合理数量的空白

我不想把正则表达式应用到一个大文件中,而是想把它应用到一个文件块流中

我目前的解决方案就是:

(?<=>)\s+(?=<)

<代码>(?)s+(?=取决于此。考虑此代码> HTML < /代码>代码片段:

<div> 
    <p>Some paragraph here</p>
    <div data-rel="some data > < here"> 
        <p>some subparagraph here</p>
    </div>
</div>

这里有些段落

这里有一小段

在这里,您的表达式也与一些潜在重要的数据属性中的
>\s+<
并将其替换为

><
><

在这里查看与第一个表达式相比的结果(259对28个步骤,减少了约90%)

在一个大文件上,我看到了20倍的时间节省。谢谢!请注意,我将替换为
\s{2,}很抱歉这么大声喊叫,所以没有考虑额外的空格:-P@mac9416:当您试图制定多个空格规则的异常时,它会变得非常复杂,正则表达式可能不是处理这些情况的正确方法。@mac9416:除了我的最后一条评论,请参见此-它确实可以至少,您想要(忽略您的特殊情况),但这是一个蹩脚的表达式,原因有很多——为了有更好的控制,我建议使用解析器。
><