0

我在我的 html 文件中有这个标签:

    {{block:my_test_block}} 
{{news:my_test_block2}}

我需要用数据库中的内容解析和替换这个标签,我的方法:

     ob_start();
     require_once('file.php');
     $template = ob_get_contents();
     ob_end_clean();

      $line = preg_replace_callback('/{(\w+)}/' , "parseTag" , $template);

function parseTag($matches){
   //here switch for block, news, 
}

这是正确的方法吗?谢谢。

4

1 回答 1

0

尝试使用

'/{{(.+):(.+)}}/'

所以在 $matches[1] 你会看到区块或新闻。

你的脚本应该是这样的

$line = preg_replace_callback('/{{(.+):(.+)}}/' , "parseTag" , $template);

function parseTag($matches){
   if($matches[1] == 'block'){
        $return = 'Its Blocked';
   }elseif($matches[1] == 'news'){
        $return = 'Great news';
   }else{
        $return = 'Ops...';
   }
   return $return;
}
于 2012-06-13T14:19:09.577 回答