【问题标题】:how to optimize my html code如何优化我的html代码
【发布时间】:2012-04-24 20:11:27
【问题描述】:

我一直在 mysql 文本字段中保存缓冲区内容,但是当内容超过字符数限制时,代码被压缩。

那么如何通过使用 php 从代码中删除制表符和空格来优化 html 缓冲区内容?

【问题讨论】:

  • 使用可以存储更多字符的字段类型?
  • 您要解决什么问题?为什么一开始就将 HTML 存储在数据库中?
  • 我和 Kristian 在一起,最好不要将编译后的 HTML 存储在数据库中。它变得一团糟,而您现在只是遇到了其中一个问题。

标签: php mysql html


【解决方案1】:

为什么不使用能够保存所有数据的类型?例如。长文本还是中文本?但是,您可以使用

去除所有重复的空格字符
preg_replace("/\s+/", " ", trim($s));

添加

正如在 cmets 中所注意到的,这将压缩每个重复的“空格”字符,即使它是有意义的。这不适用于默认的 pre 标签样式,也不适用于任何其他带有 CSS 更改 white-space 属性的标签。

【讨论】:

  • “不会工作”意味着它确实可以工作,但它会浪费原始 html 的外观。
【解决方案2】:

您可以使用 gzdeflate 等函数来压缩数据。见http://php.net/manual/en/function.gzdeflate.php

如果这需要进入非二进制安全位置,您可以对 gzip 压缩的字符串进行 base64_encode,然后存储。

【讨论】:

    【解决方案3】:

    您可以使用如下正则表达式:

    preg_replace("/\s+/", " ", $string);
    

    这应该用一个替换所有多个空格、制表符和换行符。

    另请参阅:How do I remove extra spaces, tabs and line feeds from a sentence and substitute them with just one space?

    【讨论】:

    • 现在观看<pre> 元素爆炸。
    • 更不用说脚本和属性值了。
    • 肯定打乱了。但是我们并没有进入他的 html 的 OP 问题;虽然建议添加它必须是无脚本且无前的 html 很好,但将其添加到我的 ans
    猜你喜欢
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多