public function getKeywords($generateIfEmpty = true, $data = null) { $keywords = parent::getKeywords(); if (!$generateIfEmpty) { return $keywords; } if ($keywords == null && $data != null) { $preg = '/<h[123456].*?>(.*?)<\\/h[123456]>/i'; $content = str_replace("\n", "", str_replace("\r", "", $data)); $pregCount = preg_match_all($preg, $content, $headers); $keywords = ''; for ($i = 0; $i < $pregCount; $i++) { if ($keywords != '') { $keywords .= ', '; } $item = trim(strip_tags($headers[0][$i])); if ($item == '') { continue; } $keywords .= $item; if (mb_strlen($keywords) > 200) { break; } } } if ($keywords == null && isset(Yii::app()->domain)) { $keywords = Yii::app()->domain->model->keywords; } return str_replace('@', '[at]', $keywords); }