тег цвета наверное лучше вот так![]()
$var = preg_replace('#\[color=\#([a-zA-Z0-9]{6})\](.*?)\[/color\]#si', '<span style="color:#\1">\2</span>', $var); тег цвета наверное лучше вот так![]()
$var = preg_replace('#\[color=\#([a-zA-Z0-9]{6})\](.*?)\[/color\]#si', '<span style="color:#\1">\2</span>', $var); Нет 6 мало, насчет color так делать нельзя потому что расчитывалось словесно тоже цвет писать а не его код. Я не знал сколько максимум выделить так и оставил.
ты еще расчитывал и на словестное...тогла лучше наверное заюзать два тега, ибо в словевестном юзать только анлийские символы, и во втором варианте анлийские символы и цмфры (но тут уже ограничить)
Просто хотелось чего то универсального
2 в одном
В ближайшее время переделаю тег ghide и выложу сюда.
Отредактировал и модифицировал код.
Перечисление изменений:
[color=цвет]текст[/color] - цветной текст, причем цвет задаем сами(после знака равно разрешено только 20 символов, менять не стал изза сохранения универсальности);
[ghide]текст[/ghide] - тест видимый для администрации, !модераторам! и для пользователя написавшего сообщение(более продуманное поведение кода, FlySelf за идею спасибо);
Собственно код который необходимо добавить в файл incfiles/func.php
// Это добавляем в функцию tags()
$var = preg_replace('#\[color=([\#a-zA-Z0-9]{20})\](.*?)\[/color\]#si', '<span style="color:\1">\2</span>', $var);
$var = preg_replace('#\[sub\](.*?)\[/sub\]#si', '<span style="vertical-align:sub">\1</span>', $var);
$var = preg_replace('#\[sup\](.*?)\[/sup\]#si', '<span style="vertical-align:super">\1</span>', $var);
$var = preg_replace('#\[offtop\](.*?)\[/offtop\]#si', '<div style="color:#ccc;margin:1px;padding:2px;border:1px dashed #ccc">\1</div>', $var);
$var = preg_replace_callback('#\[hide\](.*?)\[/hide\]#si', 'bbHide', $var);
$var = preg_replace_callback('#\[ghide\](.*?)\[/ghide\]#si', 'bbGHide', $var);
$var = preg_replace('#\[\*\]#si', '<li/>', $var);
$var = preg_replace('#\[hr\]#si', '<hr style="margin:2px;border:0;border-bottom:1px dashed #aaa"/>', $var);// Это добавляем в notags(), Похожее естественно заменяем
$var = strtr($var, array('' => '', '' => '', '' => '', '' => '', '' => '', '' => '', '' => '', '' => '', '' => '', '' => '', '' => '', '' => '', '' => '', '' => '',
'' => '', '' => '', '[*]' => '', '[hr]' => ''));
$var = preg_replace('{\[color=(?:.+?)\](.*?)\[/color\]}si','\1',$var);
$var = preg_replace('{\[sub\](.*?)\[/sub\]}si','(sub:\1)',$var);
$var = preg_replace('{\[sup\](.*?)\[/sup\]}si','(sup:\1)',$var);
$var = preg_replace('{\[offtop\](.*?)\[/offtop\]}si','(\1)',$var);
$var = preg_replace('{\[hide\](.*?)\[/hide\]}si','',$var);
$var = preg_replace('{\[ghide=(.*?)\](.*?)\[/ghide\]}si','',$var);// Добавляем после функции tags() следующие четыре
function w_gHide($gh){
// gHide valid finction by SunRise
// Данной функцией обрабатывать ВХОДЯЩИЕ данные
global $user_id, $rights;
if(preg_match('#\[ghide=(.*?)\](.*?)\[\/ghide\]#si',$gh))
{
if($rights>=3)
{
return $gh;
}
else
{
return '[Не хулигань!]';
}
}
elseif(preg_match('#\[ghide\](.*?)\[\/ghide\]#si',$gh))
{
return preg_replace('#\[ghide\](.*?)\[\/ghide\]#si', '[ghide=' . $user_id . ']\1[/ghide]', $gh);
}
else
{
return $gh;
}
}
function e_gHide($gh){
// gHide valid finction by SunRise
// Данной функцией обрабатывать ИСХОДЯЩИЕ К РЕДАКТИРОВАНИЮ данные
global $user_id, $rights;
if(preg_match('#\[ghide=(.*?)\](.*?)\[\/ghide\]#si',$gh))
{
if($rights>=3)
{
return preg_replace('#\[ghide=(.*?)\](.*?)\[\/ghide\]#si', '[ghide=\1]\2[/ghide]', $gh);
}
else
{
return preg_replace('#\[ghide=(?:.*?)\](.*?)\[\/ghide\]#si', '[ghide]\1[/ghide]', $gh);
}
}
else
{
return $gh;
}
}
function bbHide($hide) {
// Hide finction by SunRise
global $user_id;
if(!$user_id)
{
return '<div style="background:#EAF1F4;border:1px solid #84BEE6;color:#2383A3;margin:2px;padding:2px">Скрытый текст! Могут прочесть только зарегистрированные пользователи.</div>';
}
else
{
return '<div style="background:#EAF1F4;border:1px solid #84BEE6;color:#2383A3;margin:2px;padding:2px">' . $hide[1] . '</div>';
}
}
function bbGHide($ghide) {
// gHide function by SunRise
global $user_id, $rights;
if($user_id && $user_id == $ghide[1] || $rights>=3)
{
return '<div style="background:#FFDFD7;border:1px solid #CF3603;color:#B62703;margin:2px;padding:2px">' . $ghide[2] . '</div>';
}
else
{
return '<div style="background:#FFDFD7;border:1px solid #CF3603;color:#B62703;margin:2px;padding:2px">Скрытый текст! Могут прочесть только администрация и пользователь написавший сообщение.</div>';
}
}Если бы ты выложил файл func.php с уже добавлеными этими ништяками, было бы ваще айс
у мя форум полетел((из=за этого
Как полетел? Бб-коды базу не трогают
не полетел уж а посты не добовлялись новые дл тах пор пока стандартные файлы не закинул