从MySQL插入HTML时保留缩进

时间:2010-04-14 20:36:27

标签: mysql html indentation

我使用MySQL和PHP来填充网站的某些部分,通常使用存储在TEXT字段中的HTML。我希望保持HTML缩进,以便源简洁易读,例如:

<body>
   <div>
      <p>Blahblah</p>
   </div>
</body>

然而,当从MySQL中提取HTML时,我最终得到:

<body>
   <div>
<p>Blahblahblah</p>
   </div>
</body>

当有大量HTML插入显着缩进的DIV时,这非常难看。我怎么能阻止这种情况发生?仅供参考,我使用wordwrap()来保持每一行不会太长。

2 个答案:

答案 0 :(得分:2)

您可以使用PHP手动缩进行:

$tabs = 4;
echo str_repeat(chr(9), $tabs) . str_replace(chr(10), chr(10) . str_repeat(chr(9), $tabs), $text);

如果您不希望第一行缩进,也可以删除第一个str_repeat(chr(9), $tabs) .

答案 1 :(得分:0)

您使用哪种数据类型将HTML存储在数据库中?我怀疑你使用的是VARCHAR,但是BLOB会更好。

一个简单的解决方法是在HTML中使用空格而不是制表符。似乎数据库忽略了\ t字符。