在我的
HTML中,我有一个包含文件的
PHP脚本.此时,代码缩进了2个选项卡.我想做的是让PHP脚本为每一行添加两个选项卡.这是一个例子:
主页:
<body> <div> <?PHP include("test.inc"); ?> </div> </body>
并且“test.inc”:
<p>This is a test</p> <div> <p>This is a nested test</p> <div> <p>This is an more nested test</p> </div> </div>
我得到了什么:
<body> <div> <p>This is a test</p> <div> <p>This is a nested test</p> <div> <p>This is an more nested test</p> </div> </div> </div> </body>
我想要的是:
<body> <div> <p>This is a test</p> <div> <p>This is a nested test</p> <div> <p>This is an more nested test</p> </div> </div> </div> </body>
在test.inc文件中,您可以使用
output buffering捕获PHP脚本的所有输出,然后再将其发送到浏览器.然后,您可以对其进行后处理以添加所需的选项卡,然后将其发送.在文件的顶部,添加
<?PHP ob_start(); ?>
最后,添加
<?PHP $result = ob_get_contents(); ob_end_clean(); print str_replace("\t" . $result,"\n","\n\t"); ?>
我不一定订阅这个解决方案 – 它可能是内存密集型的,具体取决于您的输出,并会阻止您的包含文件在工作时向客户端发送部分结果.您可能最好重新格式化输出,或使用某种形式的自定义“打印”包装器来标记事物(并使用heredocs的打印作为常量HTML输出).
编辑:使用str_replace,如评论所示