文本框中的ob_get_contents和html字符串

时间:2014-08-06 09:39:46

标签: php html

问题很简单,但似乎我找不到解决方案......

我从文件中获取html字符串:

ob_start();
require_once 'view/form.php';
$html = ob_get_contents();
ob_end_clean();

它有效,然后我使用

将此字符串放在文本框中
echo '<br /><textarea style="width:100%" rows="10">'.$html.'</textarea>';

但是html因为大量的空格和标签而变得凌乱,有没有办法以合适的方式对其进行格式化以便更具可读性?

1 个答案:

答案 0 :(得分:2)

您可以使用Tidy(或任何其他HTML修饰符)来美化HTML。

ob_start();
require_once 'view/form.php';
$html = ob_get_contents();
ob_end_clean();

$config = array('indent' => TRUE, 'output-xhtml' => TRUE); 
$prettyhtml = tidy_parse_string($html, $config, 'UTF8');

但请查看所提供的链接,以查看更清晰,更全面的示例。

这需要在php安装时安装整洁的扩展程序。在Ubuntu上,您可以使用apt-get install php5-tidy进行安装。如果无法安装扩展程序,请快速搜索“php html美化”,并且我确定您能够找到可以包含的美化类,例如{ {3}}

如果要在文本框中显示HTML,请确保在回显之前将其转义,因此它实际上并未在浏览器中解释为HTML。