Пишу плагин/ мамбот, прочитал кучу документации только и непонял как перехватить вывод статей, те есть готовая статья необходимо вместо вывода этой статьи вывести измененную .... про изменение ключевых слов описания делается все элементарно а вот со статьями завал. Задачка для СЕО если поможите напишу и выложу в общее пользование Прошу помощи версия джумлы 1.5 С джумлой недавно общаюсь так что не пинать ногами.
Приведу пример простого плагина для модификации содержимого контента. XML файл replace.xml: Код (CODE): <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/plugin-install.dtd"> <install version="1.5" type="plugin" group="content"> <name>replace</name> <author>authorName</author> <authorEmail>authorEmail</authorEmail> <authorUrl>authorUrl</authorUrl> <creationDate>2008</creationDate> <copyright>©</copyright> <license>license</license> <version>1.0</version> <description>description</description> <files> <filename plugin="replace">replace.php</filename> </files> <params /> </install> PHP файл replace.php: Код (PHP): defined( '_JEXEC' ) or die( 'Restricted access' ); $mainframe->registerEvent( 'onPrepareContent', 'plgSearchModuleModify' ); function plgSearchModuleModify(&$row, &$params, $page=0){ $what = '/2001/'; $repl = '2222'; $row->text = preg_replace($what, $repl, $row->text); } Оба файла сжимаете в архив replace.zip, устанавливаете и всё готово. Файлы плагина появятся в папке www\plugins\content в следствии того, что Вы выбрали группу «content» в строке <install version="1.5" type="plugin" group="content"> Такой плагин должен заменять в тексте статьи «2001» на «2222» p.s. Сам не программист, но плагин работает. Если есть ошибки, то укажите в чём. По разработке плагинов можете посмотреть эту статью: Полное руководство по созданию плагинов в Joomla 1.5 (часть 1) Там пока первая часть, думаю, что вскоре появится продолжение. Удачи
Согласен, котофеич намана пишет. Только я бы придрался к preg_match, ибо тут можно и обычным str_replace
Мужики не в обиду сказнно, но тут загвоздка намного круче и регулярки тоже $text = "webе WELCOME free welcome web"; $word = 'welcome'; $pattern = '/([\s\>]+)'.$word.'([\s\<]+)/i'; echo preg_replace($pattern, '\\1qu\\2', $text); вроде ничего сложного но толкьо меняешь $text на $row->text перестает работать 2ое может все расскажу но как допустим менять текст внутри тегов HTML например $pattern = '/\b.$word.\b/i' сами занете что делает а вот если коснструкция намного веселее есть незакрывающиеся теги ... <table class="blog" cellpadding="0" cellspacing="0" aligin="top"> <tr> <b> тут чтото для top замены top <td valign="top" > нужно нетрогая саму верстку заменить где (тут чтото для замены) top на допустим not top статей по регулярным много но именно мало помогите !!! пробелма еще в том что слово в тексте может быть уж очень весело написанно например <strong>WEB</strong>-сайт голову сломал может что посоветуете PS. str_replace вообще не вариант пример с top тому доказательство еще совсем забыл в тексте необходимо отсекать вот такое <font face='Arial, Courier New, Times, MS Sans Serif'> спец символы типа кавычек
Я честно пытался понять, но когда я дошел до этой строчки... Ставь нормально задачу. Есть *текст, из него должен получится *текст. Пытался сделать так *код, но получается вот это *результат
Ну так и отсекай теги, тут же ничего сложного. Простейший вариант такой (первое, что приходит в голову): ищем /^((<[^>]*>)*?[^<>]*?)тутточтонужнонайти/s и заменяем на \1тоначтонужнозаменить