preg_match_all 当 pattern 是 YII 中的变量时出错

preg_match_all error when pattern is a variable in YII

我有一个名为字典的 table,其中包含要在从另一个 table 中提取的文本中查找的单词。我正在使用 preg_match_all 来匹配文本中的单词。我尝试了很多在网上找到的不同解决方案,但到目前为止还没有成功。看来问题是当我创建一个变量 $pattern 来保存文本时,请参见下面的代码。任何帮助都感激不尽。

  <?php $words=  Dictionary::model()->findAllBySql("select word from tbl_dictionary ");?> <?php foreach ($words as $word): ?>

        <?php  //$matches = array()?>
        <?php  $string =$data->text_content; $pattern = "/\b($string)\b/" ; preg_match('.$pattern.', $word->word, $match);?>

         <?php echo var_dump($match); ?>


         <?php endforeach  ;?>

我做错了。变量 $pattern 应该有我要找的词以及 $word->word 应该在哪里 $数据->text_content。仅纯化 $data->text_content

<?php $words=  Dictionary::model()->findAllBySql("select word from tbl_dictionary ");?>

       <?php foreach ($words as $word): ?>



        <?php  //$matches = array()

                        $CHtmlPurifier = new CHtmlPurifier();
                         $CHtmlPurifier->options = array('HTML.ForbiddenElements' => array('br, p, img,&lt'));
                        $purified = $CHtmlPurifier->purify($data->text_content);

            preg_match( "/$word->word/", $purified, $match);


         ?>  
         <?php echo var_dump($match); ?>