上边的$pattern多写了"'"'应该是"',不好意思。

解决方案 »

  1.   

    $str = "<html><table>{if $condition<>\"constant\"}<tr><td>{content}</td></tr>{/if}<tr><td>this is a test</td></tr></table></html>";
    不会出错,不过你想干什么不很清楚,给出的代码不全
      

  2.   

    比如我的模版my.tpl里包含$str的内容,不过这复杂。
    美工人员做出模版之后,需要一些条件$str是从模板里读出来的比如今天是2003-3-20,如果找不到符合2003-3-20的纪录那么
    <tr><td>{content}</td></tr>这条就会在编译模版的时候将这行去掉,原$str就变成"<html><table><tr><td>this is a test</td</tr></table></html>"如果这个条件{if $condition<>"constant"}这个条件符合编译条件,那么
    $str就会被编译成"<html><table<tr><td>{content}</td></tr><tr><td>this is a test</td></tr></table></html>";并且根据这个条件将{content}的内容给替换成程序搜索的东西。
    设将{content}替换成
    那么原$str就会变成"<html><table<tr><td<url><li>aaaaa</li><li>bbbbb</li></ul></td></tr><tr><td>this is a test</td></tr></table></html>";我最想要表达的就是将模板里的逻辑条件 转换成 php里的逻辑,然后对模板进行有条件的
    编译,并且这种模板逻辑条件美工可以知道,那么页面与逻辑基本上分开了,
      

  3.   

    我的QQ是28127910,希望与xuzuning(唠叨)老兄交流交流。我是php的忠实爱好者。
      

  4.   

    1、我感觉你弄的好象太复杂了点(个人意见)
    2、在你给出的代码片段中似乎最后使用了eval函数,但参数串的格式有问题
    3、最好举例说明你的问题,这样便于别人理解
      

  5.   

    我想表达的最终效果就是eval一个如eval("chiny"<>"constant")返回一个值。
    但eval编译出错。然后进行操作,是否决定替换{content}的内容。
    因为要做到数据和逻辑与美工页面设计分离,所以有点复杂。
      

  6.   

    按eval函数的参数要求,你应该构造出形如
    eval("$k=(\"chiny\"<>\"constant\");");
    的参数串
    然后
    if($key) {
      ....
    }else {
      ....
    }