А можно сделать помощнее: чтобы в самом теге HIDE указывать число постов. Т.е., например, пишешь [hide=15]текст[/hide] - и текст будет скрыт для всех незарегистрированных и тех, кто набрал меньше 15 постов. Я это у себя сделал так:
в lib.php после строчки, парсящей обычный hide, добавил строку:
PHP:$post = preg_replace_callback("#(\[hide=)([0-9]+)(\])(.+?)(\[\/hide\])#is", 'reg_exp_callback', $post);
а ниже, после функции ikoncode, добавил функцию
PHP:function reg_exp_callback($arr) {
global $exbb,$lang,$inmembmod;
if (!$exbb['reged']) {
return "<BR><span class=small><font color=red>[$lang[HiddenText]. $lang[ToRead] $lang[RegisterAnd] $lang[CollectPosts1] $arr[2] $lang[CollectPosts2]!]</font></span>";
}
$member = getmember($exbb['mem_id']);
if (($member['posts'] >= $arr[2]) || $inmembmod) {
return "<BR><span class=small>$lang[HiddenText]:</span><table cellpadding=3 cellspacing=0 width=85% class=hide_table><tr><td class=hide_td>$arr[4]</td></tr></table>";
} else {
return "<BR><span class=small><font color=red>[$lang[HiddenText]. $lang[ToRead] $lang[CollectPosts1] $arr[2] $lang[CollectPosts2]!]</font></span>";
}
}
Плюс в lang.php добавил строчки (можно и прямо в код функции их запихнуть, если мультиязычность не нужна):
PHP:$lang['HiddenText'] = 'Скрытый текст';
$lang['ToRead'] = 'Для прочтения необходимо';
$lang['Register'] = '<a href=\"register.php\">зарегистрироваться</a>';
$lang['RegisterAnd'] = '<a href=\"register.php\">зарегистрироваться</a> и';
$lang['CollectPosts1'] = 'набрать не менее';
$lang['CollectPosts2'] = 'сообщений';