【发布时间】:2019-02-22 16:11:23
【问题描述】:
我有一个存储所有缓冲输出的 PHP 系统,在转储它之前,我删除了空白中的所有新行和空格。这很有效。
$content = Buffer::getKill();
$content = preg_replace(
[
'/[\n\r]|/',
'# {2,}#',
'#> <#'
],
[
'',
' ',
'><'
],
$content
);
我尝试更改的响应模式如下'/[\n\r]|/',但我没有成功。
问题是当我在内容中有一个 textarea 时,新的 textarea 行也会丢失。我尝试了几种方法来执行正则表达式,但我无法得到结果,因为我对正则表达式感到意外。
以下是示例代码及其输出。
<html>
<body>
<div>
<textarea>
The
Content
Here
</textarea>
</div>
</body>
</html>
输出
<html><body><div><textarea>TheContentHere</textarea></div></body></html>
预期
<html><body><div><textarea>
The
Content
Here
</textarea></div></body></html>
【问题讨论】:
-
为什么必须删除所有这些?
-
我想减小 html 的大小,让浏览器更容易阅读。
-
是的,我想到了这一点,但是我相信正则表达式的正确模式会快千分之几。如果您找不到理想的解决方案,我会按照您说的那样尝试。
标签: php html regex preg-replace