* $sText=$this->Text_Parser($sTestSource); * * Настройки парсинга находятся в конфиге /config/jevix.php * * @package engine.modules * @since 1.0 */ class ModuleText extends Module { /** * Объект типографа * * @var Jevix */ protected $oJevix; /** * Инициализация модуля * */ public function Init() { /** * Создаем объект типографа и запускаем его конфигурацию */ $this->oJevix = new Jevix(); $this->JevixConfig(); } /** * Конфигурирует типограф * */ protected function JevixConfig() { // загружаем конфиг $this->LoadJevixConfig(); } /** * Загружает конфиг Jevix'а * * @param string $sType Тип конфига * @param bool $bClear Очищать предыдущий конфиг или нет */ public function LoadJevixConfig($sType='default',$bClear=true) { if ($bClear) { $this->oJevix->tagsRules=array(); } $aConfig=Config::Get('jevix.'.$sType); if (is_array($aConfig)) { foreach ($aConfig as $sMethod => $aExec) { foreach ($aExec as $aParams) { if (in_array(strtolower($sMethod),array_map("strtolower",array('cfgSetTagCallbackFull','cfgSetTagCallback')))) { if (isset($aParams[1][0]) and $aParams[1][0]=='_this_') { $aParams[1][0]=$this; } } call_user_func_array(array($this->oJevix,$sMethod), $aParams); } } /** * Хардкодим некоторые параметры */ unset($this->oJevix->entities1['&']); // разрешаем в параметрах символ & if (Config::Get('view.noindex') and isset($this->oJevix->tagsRules['a'])) { $this->oJevix->cfgSetTagParamDefault('a','rel','nofollow',true); } } } /** * Возвращает объект Jevix * * @return Jevix */ public function GetJevix() { return $this->oJevix; } /** * Парсинг текста с помощью Jevix * * @param string $sText Исходный текст * @param array $aError Возвращает список возникших ошибок * @return string */ public function JevixParser($sText,&$aError=null) { // Если конфиг пустой, то загружаем его if (!count($this->oJevix->tagsRules)) { $this->LoadJevixConfig(); } $sResult=$this->oJevix->parse($sText,$aError); return $sResult; } /** * Парсинг текста на предмет видео * Находит теги
и реобразовываетих в видео * * @param string $sText Исходный текст * @return string */ public function VideoParser($sText) { /** * youtube.com */ $sText = preg_replace('/