我在用php smarty 时候,其中一个模板中有这么一句,我使用的smarty分隔符是 
<{ }>
以下的是片段 index.tpl
<div id="mad">
<{include file="index_ad.tpl"}>
</div>但是生成 但我生成index.html的时候 ,发现include 文件写入后
<div id="mad"></div> 标签之前除了index_ad.tpl的内容外,在开头还产生了换行,产生一个换行回车的空隙, 我网页用的编码是utf-8 ,
代码如下
<div id="mad">
&#65279;<script language="javascript">
var imgUrl=new Array();
var imgLink=new Array();
var text=new Array();
var adNum=-1;
var buttonShow=1;
var buttonPos=2;
imgUrl[0]="images/ad/a1.jpg";
imgLink[0]='http://beauty88.com.tw';
text[0]="时尚美人广告";
imgUrl[1]="images/ad/a2.jpg";
imgLink[1]='http://beauty88.com.tw';
text[1]="时尚美人";
</script>
<script language="javascript" src="js/indexad.js"></script>
<table width="560" height="150" border="0" cellpadding="0" cellspacing="0" id=newsTable>
  <script language="javascript">dakularButtons();</script>
<tr><td width="560" height="150"><a onMouseOver="displayStatusMsg();return document.returnValue" onMouseOut="status='';" class=px14-lh24 href="javascript:jump2url()"><img src="javascript:nextAd()" alt="" name=imgUrlrotator width=560 height=150 hspace="0" vspace="0" border=0 style="FILTER: revealTrans(duration=1,transition=23); border:0px solid #000000" /></a></td>
</tr>
<!--<tr><td bgcolor="#EBEBEB" align="center" style="border-bottom:1px solid #000000; border-left:1px solid #000000;border-right:1px solid #000000;" height="20"><label id="linktext"></label></td></tr>-->
</table>
</div>
  
我想不通,我把网页编码改成gb2312的时候 发现 <div id="mad"> 后有一个 "?"的东西, 但是在utf8下有没东西看见,但是它就产生换行回车了, 请高手指点一下我该怎么去掉那个空格

解决方案 »

  1.   

    貌似多个空格
    <{include   file="index_ad.tpl"}> 
      

  2.   

    我记得,tpl在服务器端转换以后,有一个临时文件,你去看看那个文件,它写了什么。我觉得,你的页面,<div   id= "mad " >
    <{include   file= "index_ad.tpl "} >
    </div > 改成<div   id= "mad "><{include   file= "index_ad.tpl "}></div >看看呢?
      

  3.   

    建议自定义 template 标签时 不要用包含 <> 这种符号 很容易和 html 标签产生混淆 你用其他标签试一试看 :)