et [quote=xxx]. La syntaxe [quot=xxx]yyy[/quot] est gardée afin de laisser une compaitibilité
// avec les anciennes versions de FSB
//
while(preg_match('/\[quote\](.+?)\[\/quote\]/is', $texte))
{
$texte = preg_replace('/\[quote\](.+?)\[\/quote\]/ise', 'replace_simple_quote(\'\\1\')', $texte);
}
foreach (array('quot', 'quote') AS $v)
{
while(preg_match('/\[' . $v . '=(.*?)\](.+?)\[\/' . $v . '\]/is', $texte))
{
$texte = preg_replace('/\[' . $v . '=(.*?)\](.+?)\[\/' . $v . '\]/ise', 'replace_complex_quote(\'\\2\', \'\\1\')', $texte);
}
}
//
// On parse le FScode
de la même façon que [quote] en pranant le soin de ne parser que les
// entre les balises de [list]
// - Dark_Genova -
//
$texte = parse_list($texte);
// Texte sous format liste :: [list]- texte1
- texte2 ...
$texte = preg_replace("`\[list\](.*?)\[/list\]`si", '<ul>\\1</ul>', $texte);
// Texte en gras ::
texte
$texte = parse_simple_fscode($texte, 'b', '<span class="b">', '</span>');
// Texte en italique ::
texte
$texte = parse_simple_fscode($texte, 'i', '<span class="i">', '</span>');
// Texte souligné ::
texte
$texte = parse_simple_fscode($texte, 'u', '<span class="u">', '</span>');
// Texte video :: [video]texte[/video]
$texte = preg_replace('`\[video\](.*?)\[/video\]`si', ' <embed src="\\1" width=350 height=250 pluginspace="http://www.microsoft.com/windows95/downloads/contents/wurecommended/s_wufeatured/mediaplayer/default.asp" type="application/x-oleobject" loop="0"></embed>', $texte);
foreach (array('wmp', 'real', 'qt') AS $v)
{
while(preg_match('/\[video=' . $v . '\](.+?)\[\/' . $v . '\]/is', $texte))
{
if( $v == "wmp" )
{
$texte = preg_replace('/\[video=' . $v . '\](.+?)\[/video\]/is'', '<object type="application/x-mplayer2" style="width: 200px; height: 200px;" data="\\1">
<param name="filename" value="m\\1"/>
</object>', $texte);
}
else if( $v == "real" )
{
$texte = preg_replace('/\[video=' . $v . '\](.+?)\[/video\]/is'', '<embed type="audio/x-pn-realaudio-plugin" src="\\1" height="200px" width="200px" controls="all" console="video"/>', $texte);
}
else if( $v == "qt" )
{
$texte = preg_replace('/\[video=' . $v . '\](.+?)\[/video\]/is'', '<object type="video/quicktime" style="width: 200px; height: 200px;" data="\\1">
<param name="src" value="\\1"/>
</object>', $texte);
}
}
}
// Texte coloré
texte
$texte = fscode_subparse($texte, '(\[color=(\#[0-9A-Fa-f]{6}|[a-zA-Z].*?)\])', '(\[/couleur\])', '<span style="color:%s;">', '</span>', 'couleur');
// texte plus ou moins grand :: [size=18]texte[/size]
$texte = fscode_subparse($texte, '(\[size=([[:digit:]-]{1,2})\])', '(\[/taille\])', '<span style="font-size:%spx">', '</span>', 'taille');
// texte en url ::
http://www.fire-soft-board.com
$texte = preg_replace('`\[url\](\w+?://)(.*?)\[/url\]`i', '<a href="\\1\\2" target="_blank">\\1\\2</a>', $texte);
$texte = preg_replace('`\[url\](www\.|ftp\.)(.*?)\[/url\]`i', '<a href="http://\\1\\2" target="_blank">\\1\\2</a>', $texte);
// Texte masquant une url ::
texte
$texte = preg_replace('`\[url=(\w+?://)(.*?)\](.*?)\[/url\]`i', '<a href="\\1\\2" target="_blank">\\3</a>', $texte);
$texte = preg_replace('`\[url=(www\.|ftp\.)(.*?)\](.*?)\[/url\]`i', '<a href="http://\\1\\2" target="_blank">\\3</a>', $texte);
// texte en mail ::
support@fire-soft-board.com
$texte = preg_replace('`\[mail\](.*?@.*?\..*?)\[/mail\]`si', '<a href="mailto:\\1">\\1</a>', $texte);
// Texte masquant un mail ::
texte
$texte = preg_replace('`\[mail=(.*?@.*?\..*?)\](.*?)\[/mail\]`si', '<a href="mailto:\\1">\\2</a>', $texte);
// Image ::

$texte = preg_replace('`\[img\](http://){1}(.*?)(gif|jpg|jpeg|png)\[/img\]`si', '<img src="\\1\\2\\3" border="0">', $texte);
//
// On parse les URL et adresses mails en les encadrants des BBcodes necessaires
//
if ( $parse_url_email )
{
$texte = parse_url_email($texte);
}
// On rétabli ensuite les &fs1; et &fs2; en [ et ]
$texte = fs2fscode($texte);
return $texte;
}
function fscode_hide( $texte, $posteur_id, $mode, $membre_id )
{
global $bdd, $membre;
if ( (in_array($membre['membre_id'], $posteur_id) && $membre['membre_id'] != INVITE) || $membre['membre_aut'] == ADMIN )
{
if ( $membre['membre_aut'] >= MODO && ($mode != 'editer' && $mode != 'reponse') )
{
$texte = preg_replace('`\[hide\](.*?)\[\/hide\]`si', '[quote=Message Caché]\\1