_setRedentPattern($redentPattern); } } // Hook StartNoticeSave public function onStartNoticeSave($notice) { $this->_localReplace($notice); } protected function _localReplace($notice) { // check if this is a redent or not if ( !preg_match("/{$this->_redentPattern}/i", $notice->content) ) { return; } $validNamePattern = '([A-Z0-9]{1,64})'; $find = array("/(\s)!{$validNamePattern}/i", "/(\s)!!{$validNamePattern}/i"); $replace = array('\\1#\\2', '\\1!\\2'); $notice->content = preg_replace($find, $replace, $notice->content); $notice->rendered = common_render_content($notice->content, $notice); } protected function _setRedentPattern($pattern) { $this->_redentPattern = $pattern; } }