Не пойму как написать мамбот для парсинга бб-кода [TEST]content[/TEST] Код (PHP): // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); $mainframe->registerEvent( 'onPrepareContent', 'plgBBcodeparse' ); /** * Plugin that loads module positions within content */ function plgBBcodeparse( &$row, &$params, $page=0 ) { $db =& JFactory::getDBO(); // simple performance check to determine whether bot should process further if ( JString::strpos( $row->text, 'loadposition' ) === false ) { return true; } // expression to search for $regex = '/\[TEST\](\w+)\[\/TEST\]/'; $replacment = 'TEST:\${1}'; $pluginParams = new JParameter( $plugin->params ); // check whether plugin has been unpublished if ( !$pluginParams->get( 'enabled', 1 ) ) { $row->text = preg_replace( $regex, $replacment, $row->text ); return true; } } Насчет регулярки я не уверен, но он и более простую не обрабатывает....Вот например я на главной написал [TEST]content[/TEST], мамбот свой поставил и включил, а оно не изменилось...В чем косяк? === Это я кстати мамбот loadmodule изменял, если что =)
Проблему решил: Код (PHP): function plgBBcodeparse( &$row, &$params, $page=0 ) { // Код [ITEM]$id{/ITEM] $regex = '/\[ITEM\](\w+)\[\/ITEM\]/'; if (preg_match_all($regex, $row->text, $matches)){ foreach ($matches[1] as $buf){ $text = "<a href=\"index.php?option=com_php&Itemid=5&id=$buf\">$name</a>"; $row->text = str_replace( "[ITEM]".$buf."[/ITEM]", $text, $row->text ); } } return true; }