首页 Soft PlugIn RAN乱 Dev开发 Info资料 English WAP 留言 登陆 注册
-
Posted by Yippee | 评论(0) | 引用(0) | 阅读1269次
iwas12-finish remove

人总是有疲倦的时候,如果疲倦的时候不好好休息,那么就会产生无聊的浪费。下午已经有点头晕脑胀的,但是想一鼓作气解决调HTML静态模板。 www.shengfang.org

结果有一段代码改来改去就是不行,总是出现一段无聊的替换符号。{briefas} www.shengfang.org

我看了看以前的代码,好像不会。我主要替换了模板类。但是根据我的经验觉得应该差不多。并且前面一些代码也验证了我的看法。我已经作好了页面内容,而子类静态HTML也完成了列表、头条等内容。但是有一段我一直有点模糊,不明白是什么类型的,但是也是强行作下去。 www.shengfang.org

<!-- BEGIN briefa -->
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td bgcolor="#FDEEEE">{ _img }{ _brief }</td>
        </tr>
        <tr>
          <td bgcolor="#FDEEEE">
            <hr size="1" width="98%" color="#FFE9BB">
          </td>
        </tr>
      </table>
<!-- END briefa --> HTML模板

$itpl->set_block("_sort","briefa","briefas"); www.shengfang.org
 //parse brief
 global ${ topic.$sortid };
 if(${ topic.$sortid }!=""){
 $itpl->set_var("_brief","$brief");
 $itpl->set_var("_img","<img src=\"../../$img\">");
 $itpl->parse("briefas","briefa");
  } PHP处理

我改为: www.shengfang.org

$tmpl->set_block("_sort","briefa","briefas");
 $intronums=$db->GetParam("intronum");
  $sql="SELECT * FROM `htmls` WHERE topic=1 and cata='".$cata."' and sort='".$sort."'" ;//." limit 0, ".$intronums;
    $dbrtn=$db->Exec($sql);
   if($row = mysql_fetch_array($dbrtn))
    {
    global ${ topic.$sortid };
   if(${ topic.$sortid }!="")
   {
    $tmpl->set_var("_brief","$brief");
    $tmpl->set_var("_img","<img src=\"../../$img\">");
    $tmpl->parse("briefas","briefa");
    }
    }
   else
   {
    $tmpl->set_var("_brief","");
    $tmpl->set_var("_img","");
    $tmpl->parse("briefas","briefa");
    } 结果就是明明虽然不会走进去替换,但是替换为空白很难看,如果不替换,那么又有那个。{briefas}

但是:var $unknowns = "remove"; 指示未知变量的处理方式
   为"keep","comment", "remove" (默认)三者之一.决定了在输出环节上如何处理模板中未完成处理的变量名称.如果设为"keep",这些变量名称将原封不动的保留下来.如果设为"comment",那么会在报错的同时,将未完成处理的变量名
称全部转换成HTML的注释.如果设为"remove",未完成处理的变量名称便会被悄然删除(这也是默认的情况).

我默认就是 REMOVE,实在让我很郁闷。最后我晚上终于找到原因了:

$itpl->savetofile("../$cateid/$sortid/index.html","_sorts"); 他调用的是自己的保存方法。我随便看了一下,改写为

$itpl->writetofile("./$cataid/$sortid/index.html",$data,"w+"); 就是把数据写入文本文件

再看看原来的代码: www.shengfang.org

function savetofile ($dir,$varname){
   $data=$this->finish($this->get_var($varname));
   $this->writetofile($dir,$data,"w+");
}

晕倒,还有一个finish www.shengfang.org

function finish($str) {
    switch ($this->unknowns) {
      case "keep":
      break;    
      case "remove":
        $str = preg_replace('/{ [^ \t\r\n }]+ }/', "", $str);
      break;
      case "comment":
        $str = preg_replace('/{ ([^ \t\r\n }]+) }/', "<!-- Template $handle: Variable \\1 undefined -->", $str);
      break;
    } 
    return $str;
  } 吐血,原来在这里进行了处理!

我也改了:www.shengfang.org

$data=$tmpl->finish($data);
$itpl->writetofile("./$cataid/$sortid/index.html",$data,"w+");

不过他还 $data=$this->finish($this->get_var($varname));

function get_var($varname) {
    if (!is_array($varname)) {      
        return $this->varvals[$varname];
    }
 else {
      reset($varname);  
        while(list($k, $v) = each($varname)) {
        $result[$k] = $this->varvals[$k];
      }
    return $result;
    }
  } 我就偷懒算了 , www.shengfang.org

家里的PHPMYADMIN总是莫名其妙的出现问题,例如访问之后,打开一个数据库,突然不停的在刷新;或者干脆就访问不了,显示几行之后就 出现HTML符号 <a 之类的,或者干脆:您要查看的页当前不可用。网站可能遇到技术问题,或者您需要调整浏览器设置。不知道怎么回事。


字体:

Permanant URI永久地址 http://www.shengfang.org/blog/p/iwas12finish.php
Trackback URI引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1125065617

2005年8月26日22:13星期五  [Dev开发] 追踪此文的RSS
提示:
此文还没有评论。

称呼:    登陆   注册
   不注册,但记住我的信息
邮件:
(非必须)
评论: [UBB代码帮助]
粗体 斜体 下划线 链接 水平线 引用



验证码: 请输入你看见的数字
关闭UBB      提交时自动将内容复制到剪贴板

公告
Fire and Motion!

统计信息
[Yippee]||[统计]||日志:1790
在线: 20||用户: 2562 [列表]
今日:2081||到访:2671580
Rss:838420||评论:1584

最新日志

最新评论

友情链接

日历

最新引用

搜索

归档

杂项
Get RSS Feed (Version 2.0)
Get Atom Feed (Version 0.3)
编码:  UTF-8