有以下模板代码,上下两个div的模板,我喜欢上面那个div的写法,因为缩进和对齐都好了,用下面的写法会导致难以阅读维护<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>aafdsa</title>
<style type="text/css">
a{margin:0; padding:0}
</style>
</head>
<body>
<div id="div1">
<?php foreach($ar1 as $bbb): ?>
    <a href="http://www.baidu.com?xxx=<?php echo $bbb ;?>"><?php echo $bbb ;?></a>
<?php endforeach; ?>
</div>
<div id="div2"><?php foreach($ar1 as $bbb): ?><a href="http://www.baidu.com?xxx=<?php echo $bbb ;?>"><?php echo $bbb ;?></a><?php endforeach; ?></div>
</body>
</html>视图对象控制的代码是这样的$ar1 = array(1,2,3,4,5,6,7);  //extract($this->data);
ob_start('ob_gzhandler');
ob_implicit_flush(0);
include 'tpl.php';
ob_flush();然而输出的HTML呈以下效果(以下只贴上BODY部分算了)<body>
<div id="div1">
    <a href="http://www.baidu.com?xxx=1">1</a>
    <a href="http://www.baidu.com?xxx=2">2</a>
    <a href="http://www.baidu.com?xxx=3">3</a>
    <a href="http://www.baidu.com?xxx=4">4</a>
    <a href="http://www.baidu.com?xxx=5">5</a>
    <a href="http://www.baidu.com?xxx=6">6</a>
    <a href="http://www.baidu.com?xxx=7">7</a>
</div>
<div id="div2"><a href="http://www.baidu.com?xxx=1">1</a><a href="http://www.baidu.com?xxx=2">2</a><a href="http://www.baidu.com?xxx=3">3</a><a href="http://www.baidu.com?xxx=4">4</a><a href="http://www.baidu.com?xxx=5">5</a><a href="http://www.baidu.com?xxx=6">6</a><a href="http://www.baidu.com?xxx=7">7</a></div>
</body>我企图用排版规范的写法,但又企图输出下面那个div2的a标签不换行的效果,不知道这样可不可以实现.我以为
ob_start('ob_gzhandler');
这个设置可以使得被压缩,但却没有.
我在奇怪thinkphp框架是怎么弄的,我在它那里面是规范排版模板代码的,但它输出的却是压缩的.可能是因为它编译的原因.我没有统计,直接include...
那么请问大家有没有什么办法指导一下?非得编译?

解决方案 »

  1.   

    ob_start('compact_format');
    function compact_format($buffer) {
      return preg_replace("/[\r\n]+\s*/", '', $buffer);
    }echo <<< TXT
    <div id="div1">
        <a href="http://www.baidu.com?xxx=1">1</a>
        <a href="http://www.baidu.com?xxx=2">2</a>
        <a href="http://www.baidu.com?xxx=3">3</a>
        <a href="http://www.baidu.com?xxx=4">4</a>
        <a href="http://www.baidu.com?xxx=5">5</a>
        <a href="http://www.baidu.com?xxx=6">6</a>
        <a href="http://www.baidu.com?xxx=7">7</a>
    </div>
    TXT;//执行以下,看看效果
      

  2.   


    嗯谢谢,这样是可以.就是要执行一下正则处理了.
    我以为利用PHP自带的输出机制可以完成.