Файл: adultscript-2.0.3-pro/files/libraries/framework/bbcode.php
Строк: 39
<?php
defined('_VALID') or die('Restricted Access!');
class VBbcode
{
// need to add security fixes
// need to add a inteligent way to parse the bbcode (for example [code]
public static function to_html($code)
{
// if (strpos($code, '[code]') !== false OR strpos($code, '[/code]')) {
// get the code content here....clean
// }
$tpl_rel = preg_quote(RELATIVE_URL.'/templates/'.VF::cfg_item('template'), '/');
$code = preg_replace('/[:(.*?):]/ms', '<img src="'.TPL_REL.'/images/emoticon_$1.png" alt="$1" />', $code);
$search = array(
'/[b](.*?)[/b]/ms',
'/[i](.*?)[/i]/ms',
'/[u](.*?)[/u]/ms',
'/[img](.*?)[/img]/ms',
'/[email](.*?)[/email]/ms',
'/[url="?(.*?)"?](.*?)[/url]/ms',
'/[size="?(.*?)"?](.*?)[/size]/ms',
'/[color="?(.*?)"?](.*?)[/color]/ms',
'/[quote](.*?)[/quote]/ms',
'/[quote="?(.*?)"?](.*?)[/quote]/ms',
'/[user](.*?)[/user]/ms',
'/[list=(.*?)](.*?)[/list]/ms',
'/[list](.*?)[/list]/ms',
'/[*]s?(.*?)n/ms',
'/[code](.*?)[/code]/ms'
);
$replace = array(
'<strong>$1</strong>',
'<em>$1</em>',
'<u>$1</u>',
'<img src="$1" alt="$1" />',
'<a href="mailto:$1">$1</a>',
'<a href="$1">$2</a>',
'<span style="font-size:$1%">$2</span>',
'<span style="color:$1">$2</span>',
'<blockquote>$1</blockquote>',
'<a href="'.RELATIVE_URL.'/users/$1/" class="quote">$1</a> said:<br /><blockquote>2</blockquote>',
'<a href="'.RELATIVE_URL.'/users/$1/"><strong>$1</strong></a>',
'<ol start="$1">2</ol>',
'<ul>$1</ul>',
'<li>$1</li>',
'<pre>$1</pre>'
);
// add the content code here...
return preg_replace($search, $replace, $code);
}
public static function to_bbcode($code)
{
$tpl_rel = preg_quote(RELATIVE_URL.'/templates/'.VF::cfg_item('template'), '/');
$code = preg_replace('/<img src="'.$tpl_rel.'/images/emoticon_(.*?).png" alt="(.*?)" />/ms', '[:$1:]', $code);
$relative = preg_quote(RELATIVE_URL, '/');
$search = array(
'/<blockquote>(.*?)</blockquote>/ms',
'/<a href="'.$relative.'/users/(.*?)/" class="quote">(.*?)</a> said:<br /><blockquote>(.*?)</blockquote>/ms',
'/<strong>(.*?)</strong>/ms',
'/<em>(.*?)</em>/ms',
'/<u>(.*?)</u>/ms',
'/<img src="(.*?)" alt="(.*?)" />/ms',
'/<a href="mailto:(.*?)">(.*?)</a>/ms',
'/<a href="(.*?)">(.*?)</a>/ms',
'/<span style="font-size:(.*?)%">(.*?)</span>/ms',
'/<span style="color:(.*?)">(.*?)</span>/ms',
'/<pre>(.*?)</pre>/ms',
'/<a href="'.$relative.'/users/(.*?)/">(.*?)</a>/ms',
'/<ol start="(.*?)">(.*?)</ol>/ms',
'/<ul>(.*?)</ul>/ms',
'/<li>(.*?)</li>/ms'
);
$replace = array(
'[quote]$1[/quote]',
'[quote=$1]$3[/quote]',
'[b]$1[/b]',
'[i]$1[/i]',
'[u]$1[/u]',
'[img]$1[/img]',
'[email]$1[/email]',
'[url=$1]$2[/url]',
'[size=$1]$2[/size]',
'[color=$1]$2[/color]',
'[code]$1[/code]',
'[user]$1[/user]',
'[list=$1]$2[/list]',
'[list]$1[/list]', "[*] $11n"
);
return preg_replace($search, $replace, $code);
}
}