> 백엔드 개발 > PHP 튜토리얼 > 想压缩空格.

想压缩空格.

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-23 14:09:16
원래의
1031명이 탐색했습니다.

有以下模板代码,上下两个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...
那么请问大家有没有什么办法指导一下?非得编译?


回复讨论(解决方案)

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;//执行以下,看看效果
로그인 후 복사
로그인 후 복사

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;//执行以下,看看效果
로그인 후 복사
로그인 후 복사


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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿