0

私はこのタグを私のhtmlファイルに持っています:

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

このタグを解析して、私のアプローチであるdbのコンテンツに置き換える必要があります。

     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 に答える