Graber |
|
---|---|
В plugins/bbcode/setup/bbcode.install.sql есть строка:
('email', 'callback', '\\[email=(\\w[\\._\\w\\-]+@[\\w\\.\\-]+\\.[a-z]+)\\](.+?)\\[/email\\]', 'return cot_obfuscate(''<a href="mailto:''.$input[1].''">''.$input[2].''</a>'');', 1, 1, 128, '', 0), Добавлено 2 часа 24 Минуты спустя: Написал конвертер ![]() Для совместимости с LDU пришлось добавить bb-кодов: ('red', 'str', '[red]', '<span style="color:#F93737">', 1, 1, 128, '', 0),
('red', 'str', '[/red]', '</span>', 0, 1, 128, '', 0),
('white', 'str', '[white]', '<span style="color:#FFFFFF">', 1, 1, 128, '', 0),
('white', 'str', '[/white]', '</span>', 0, 1, 128, '', 0),
('green', 'str', '[green]', '<span style="color:#09DD09">', 1, 1, 128, '', 0),
('green', 'str', '[/green]', '</span>', 0, 1, 128, '', 0),
('blue', 'str', '[blue]', '<span style="color:#018BFF">', 1, 1, 128, '', 0),
('blue', 'str', '[/blue]', '</span>', 0, 1, 128, '', 0),
('orange', 'str', '[orange]', '<span style="color:#FF9900">', 1, 1, 128, '', 0),
('orange', 'str', '[/orange]', '</span>', 0, 1, 128, '', 0),
('yellow', 'str', '[yellow]', '<span style="color:#FFFF00">', 1, 1, 128, '', 0),
('yellow', 'str', '[/yellow]', '</span>', 0, 1, 128, '', 0),
('purple', 'str', '[purple]', '<span style="color:#A22ADA">', 1, 1, 128, '', 0),
('purple', 'str', '[/purple]', '</span>', 0, 1, 128, '', 0),
('black', 'str', '[black]', '<span style="color:#000000">', 1, 1, 128, '', 0),
('black', 'str', '[/black]', '</span>', 0, 1, 128, '', 0),
('grey', 'str', '[grey]', '<span style="color:#B9B9B9">', 1, 1, 128, '', 0),
('grey', 'str', '[/grey]', '</span>', 0, 1, 128, '', 0),
('pink', 'str', '[pink]', '<span style="color:#FFC0FF">', 1, 1, 128, '', 0),
('pink', 'str', '[/pink]', '</span>', 0, 1, 128, '', 0),
('sky', 'str', '[sky]', '<span style="color:#D1F4F9">', 1, 1, 128, '', 0),
('sky', 'str', '[/sky]', '</span>', 0, 1, 128, '', 0),
('sea', 'str', '[sea]', '<span style="color:#171A97">', 1, 1, 128, '', 0),
('sea', 'str', '[/sea]', '</span>', 0, 1, 128, '', 0),
('colleft', 'str', '[colleft]', '<div style="float: left;">', 1, 1, 128, '', 0),
('colleft', 'str', '[/colleft]', '</div>', 1, 1, 128, '', 0),
('colright', 'str', '[colright]', '<div style="float: right;">', 1, 1, 128, '', 0),
('colright', 'str', '[/colright]', '</div>', 1, 1, 128, '', 0),
('hr', 'str', '[hr]', '<hr />', 1, 1, 128, '', 0),
('p', 'str', '[p]', '<p>', 1, 1, 128, '', 0),
('p', 'str', '[/p]', '</p>', 0, 1, 128, '', 0),
('page', 'pcre', '\\[page=(\\d+)\\](.+?)\\[/page\\]', '<a href="page.php?id=$1">$2</a>', 1, 1, 128, '', 0),
('email', 'pcre', '\\[email\\](.+?)\\[/email\\]', '<a href="mailto:$1">$1</a>', 1, 1, 128, '', 0),
('email', 'pcre', '\\[email=(\\w[\\._\\w\\-]+@[\\w\\.\\-]+\\.[a-z]+)\\](.+?)\\[/email\\]', '<a href="mailto:$1">$2</a>', 1, 1, 128, '', 0), сам конвертер получился таким:
// Environment setup
define('COT_CODE', true);
define('COT_MODULE', true);
$env['ext'] = 'conver_bb';
$env['location'] = 'conver_bb';
// Basic requirements
require_once './datas/config.php';
require_once $cfg['system_dir'] . '/functions.php';
require_once $cfg['system_dir'] . '/common.php';
require_once $cfg['system_dir'] . '/cotemplate.php';
// Additional requirements
require_once cot_incfile('bbcode', 'plug');
require_once $cfg['system_dir'] . '/header.php';
$res = $db->query("SELECT page_id, page_text FROM cot_pages");
while($row = $res->fetch())
{
$db->exec("UPDATE cot_pages SET page_text=".$db->quote(cot_bbcode_parse($row['page_text']))." WHERE page_id=".$row['page_id']);
}
require_once $cfg['system_dir'] . '/footer.php';
- для его работы добавил в плагин bbcode LDUшных кодов (см. выше), - установил сам плагин - в plugins/bbcode/inc/bbcode.functions.php закоментил строки: $text = htmlspecialchars($text); и $text = nl2br($text); после этого запустил конвертер, и получил замечательный HTML удалил плагин bbcode, и возрадовался ![]() Кто бездействует, тот не завоевывает
|
|
This post was edited by Graber (2011-02-25 18:14, 14 years ago) |