Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

27.03.2008, 21:50
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
BBcode class
эм решил написать класс ббкодов...
вот что вышло ...
PHP код:
<?php
/**
* @author @FATAL@
* @copyright 2008
*/
class BBcode
{
private $BBarr = array(
'#\[B\](.*?)\[/B\]#ixs' => '<b>$1</b>',
'#\[IMG\](.*? \.jpg|.*? \.gif)\[/IMG\]#ixs' => '<img src="$1">',
'#\[S\](.*?)\[/S\]#ixs' => '<s>$1</s>',
'#\[LINK=(www\..*?|http://.*?)\](.*?)\[/LINK\]#xis' => '<a href="$1" target="_blank">$2</a>',
'#\[LEFT\](.*?)\[/LEFT\]#xis' => '<div align="left">$1</div>',
'#\[CENTER\](.*?)\[/CENTER\]#xis' => '<div align="center">$1</div>',
'#\[RIGHT\](.*?)\[/RIGHT\]#xis' => '<div align="right">$1</div>',
'#\[I\](.*?)\[/I\]#xis' => '<em>$1</em>'
);
public function bbcod($BBcode)
{
$BBcode = htmlspecialchars($BBcode);
foreach ($this->BBarr as $BB => $BBHTM)
{
if ($BB === '#\[LINK=(www\..*?|http://.*?)\](.*?)\[/LINK\]#xis')
{
if (preg_match('#\[LINK=(www\..*?|http://.*?)\](.*?)\[/LINK\]#xis', $BBcode, $pock))
{
if ($pock['2'] === '')
{
$BBcode = preg_replace($BB, '<a href="$1" target="_blank">$1</a>', $BBcode);
}
}
}
$blank = '';
while ($BBcode !== $blank)
{
$blank = $BBcode;
$BBcode = preg_replace($BB, $BBHTM, $BBcode);
}
}
echo $BBcode;
}
}
?>
жду критики....
для проверки работы
PHP код:
$str = "[i][b]Test[/b][/i]";
$bb = new BBcode;
$bb->bbcod($str);
Последний раз редактировалось Doom123; 27.03.2008 в 21:54..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|