volod3000
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Есть такой плагин к Joomla (SEO KeyWord Link). Задача плагина на любое слово на сайте повесить URL. Но он не работает с кириллицой . Код: <?php /** * plg_KeyWordLink A plugin that allows you to define keyword/link .The keywords will be automatically hyper linked in all the Joomla content By : Sharif Mamdouh http://www.iNowWeb.com */ // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); $mainframe->registerEvent('onPrepareContent', 'plgContentKeyWordLink'); function plgContentKeyWordLink(&$row, &$params, $page=0) { if (is_object($row)) { return plgKeyWordLink($row->text, $params); } return plgKeyWordLink($row, $params); } function plgKeyWordLink(&$text, &$params) { $plugin = & JPluginHelper::getPlugin('content', 'KeyWordLink'); // Load plugin params info $pluginParams = new JParameter($plugin->params); $keywords = $pluginParams->get('keywords'); $mode=$pluginParams->get('mode'); $target=$pluginParams->get('target'); $limit=$pluginParams->get('limit'); //$keywords='Web site|http://www.inowweb.com/web-design //Joomla|http://www.inowweb.com/internet-marketing //'; if($mode==0) { $mode="rel='nofollow'"; } else if ($mode==1) { $mode=""; } if($target==0) { $target='target="_parent"'; } else if ($target==1) { $target='target="_blank"'; } $keys=explode("\n", $keywords); foreach ($keys as $key) { $pat='/([\w\W]*?)\|([\w\W]*)/'; if(preg_match_all($pat,$key,$matches,PREG_SET_ORDER)) { foreach ($matches as $match) { $keyword=$match[1]; $link=$match[2]; $replace='<a href="'.$link.'" '.$target.' title="'.$keyword.'"'.$mode.'>'.$keyword.'</a>'; $case="i"; $regEx = '\'(?!((<.*?)|(<a.*?)))(\b'. $keyword . '\b)(?!(([^<>]*?)>)|([^>]*?</a>))\'s'. $case; $text = preg_replace($regEx,$replace,$text,$limit); } } } return true; } ?> | по не понятным причинам не выбирается кириллица (UTF-8), есть ли способ заставить работать этот плагин с кириллицей? |