在bo-blog的模板文件中,有这样的代码: <meta name="author" content="{blogname}" />
<meta name="description" content="{blogdesc}" />
<meta name="keywords" content="{blogkeywords}" />
类似这种{blogname}{blogdesc}{blogkeywords}用大括号括起来的,最终可以可以显示成blog的名称,描述,关键字,是php中的用法么,谁能帮我解释下

解决方案 »

  1.   

    国际化,用POEDIT编辑你的国际化文件。就是.po ,保存自动转换为.mo,更新MO文件。
      

  2.   

    这个是自定义的 $smarty->left_delimiter = '<!--{';
    $smarty->right_delimiter = '}-->';一般写的是<--{}-->这个你还可以改 成你想要的
      

  3.   

    不是php中的用法,在任何语言里都可以使用,这只是个标记,表示模版中需要替换的元素
    不同的模版,可能需要的标记是不同的,你自己实现一套模版机制,想用什么标记都可以的
      

  4.   

    不是php的,自定义,选择大括号估计是因为用的地方少
    到时候可以用类似str_replace('{blogname}', $realblogname, $template_content);的代码替换
    如果带缓存的模板则是类似<meta name="author" content="<?php echo $blogname; ?>" />
      

  5.   

    { } 是定界符号"delimiter" : 意思是包含在这两个字符中间的东西.要被特殊对待..
    1.被替换成相应的变量
    2.被处理成逻辑块的指令(比如条件分支,循环结构等)
      

  6.   

    模板引擎。
    其实最终的代码最后还是会重写成php。
    模板引擎的引入是为了做到“关注点分离”,让显示归显示,不让业务层逻辑污染表示层。
    详细的看smarty的各种资料,最好是看手册,手册永远是最好的资源。
      

  7.   

    这个道理很简单的。
    {blogname}这样的变量是在模板文件里的。
    php读取这个模板文件。然后用正则分析,像上面这样的代码可能会被解析成:
    <?php echo $blogname ?>
      

  8.   

    其实模板机制道理很简单:php页面提供变量值。htm页面显示这些变量。具体说来是这样的:
    假设a.php.
    内容是这样的:
    <?php
    $a="name";
    include template('a');
    ?>复制代码解释:第一句定义变量,供模板显示,第二句调用模板a.htm。
    a.htm的内容:
    <body>
    {a}
    </body>这样,你访问a.php就会在页面中出现name字符。原理分析:考虑template函数的作用,其实最终a.php会被解析成这样:
    <?php
    $a="name";
    ?>
    <body>
    <?php echo $a ?>
    </body>
      

  9.   

    smart中可以自己定义输出标签
      

  10.   

    呵呵 在WEB技术的海洋里游吧。