Originariamente inviato da margherite
Per convertire gli smiles io uso questa presa in parte dal file bbcode.php di phpbb.
grazie della risposta... ho fatto quello che c'era scritto ed ora funziona..
ora resta solo il bbcode... mi potete aiutare? in bbcode.php ho trovato questa funzione che xò chiede un secondo argomento che non so cosa sia e come si ricavi
Codice PHP:
function bbencode_second_pass($text$uid)
{
    global 
$lang$bbcode_tpl;

    
$text preg_replace('#(script|about|applet|activex|chrome):#is'"\\1:"$text);

    
// pad it with a space so we can distinguish between FALSE and matching the 1st char (index 0).
    // This is important; bbencode_quote(), bbencode_list(), and bbencode_code() all depend on it.
    
$text " " $text;

    
// First: If there isn't a "[" and a "]" in the message, don't bother.
    
if (! (strpos($text"[") && strpos($text"]")) )
    {
        
// Remove padding, return.
        
$text substr($text1);
        return 
$text;
    }

    
// Only load the templates ONCE..
    
if (!defined("BBCODE_TPL_READY"))
    {
        
// load templates from file into array.
        
$bbcode_tpl load_bbcode_template();

        
// prepare array for use in regexps.
        
$bbcode_tpl prepare_bbcode_template($bbcode_tpl);
    }

    
// [CODE*] and [/CODE*] for posting code (HTML, PHP, C etc etc) in your posts.
    
$text bbencode_second_pass_code($text$uid$bbcode_tpl);

    
// [QUOTE*] and [/QUOTE*] for posting replies with quote, or just for quoting stuff.
    
$text str_replace("[quote:$uid]"$bbcode_tpl['quote_open'], $text);
    
$text str_replace("[/quote:$uid]"$bbcode_tpl['quote_close'], $text);

    
// New one liner to deal with opening quotes with usernames...
    // replaces the two line version that I had here before..
    
$text preg_replace("/\[quote:$uid=\"(.*?)\"\]/si"$bbcode_tpl['quote_username_open'], $text);

    
// [list*] and [list=x*] for (un)ordered lists.
    // unordered lists
    
$text str_replace("[list:$uid]"$bbcode_tpl['ulist_open'], $text);
    
// li tags
    
$text str_replace("[*:$uid]"$bbcode_tpl['listitem'], $text);
    
// ending tags
    
$text str_replace("[/list:u:$uid]"$bbcode_tpl['ulist_close'], $text);
    
$text str_replace("[/list:o:$uid]"$bbcode_tpl['olist_close'], $text);
    
// Ordered lists
    
$text preg_replace("/\[list=([a1]):$uid\]/si"$bbcode_tpl['olist_open'], $text);

    
// colours
    
$text preg_replace("/\[color=(\#[0-9A-F]{6}|[a-z]+):$uid\]/si"$bbcode_tpl['color_open'], $text);
    
$text str_replace("[/color:$uid]"$bbcode_tpl['color_close'], $text);

    
// size
    
$text preg_replace("/\[size=([1-2]?[0-9]):$uid\]/si"$bbcode_tpl['size_open'], $text);
    
$text str_replace("[/size:$uid]"$bbcode_tpl['size_close'], $text);

    
// [b*] and [/b*] for bolding text.
    
$text str_replace("[b:$uid]"$bbcode_tpl['b_open'], $text);
    
$text str_replace("[/b:$uid]"$bbcode_tpl['b_close'], $text);

    
// [u*] and [/u*] for underlining text.
    
$text str_replace("[u:$uid]"$bbcode_tpl['u_open'], $text);
    
$text str_replace("[/u:$uid]"$bbcode_tpl['u_close'], $text);

    
// [i*] and [/i*] for italicizing text.
    
$text str_replace("[i:$uid]"$bbcode_tpl['i_open'], $text);
    
$text str_replace("[/i:$uid]"$bbcode_tpl['i_close'], $text);

    
// Patterns and replacements for URL and email tags..
    
$patterns = array();
    
$replacements = array();

    
// [img*]image_url_here[/img*] code..
    // This one gets first-passed..
    
$patterns[] = "#\[img:$uid\]([^?](?:[^\[]+|\[(?!url))*?)\[/img:$uid\]#i";
    
$replacements[] = $bbcode_tpl['img'];

    
// matches a [url*]xxxx://www.phpbb.com[/url*] code..
    
$patterns[] = "#\[url\]([\w]+?://([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
    
$replacements[] = $bbcode_tpl['url1'];

    
// [url*]www.phpbb.com[/url*] code.. (no xxxx:// prefix).
    
$patterns[] = "#\[url\]((www|ftp)\.([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
    
$replacements[] = $bbcode_tpl['url2'];

    
// [url=xxxx://www.phpbb.com*]phpBB[/url*] code..
    
$patterns[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
    
$replacements[] = $bbcode_tpl['url3'];

    
// [url=www.phpbb.com*]phpBB[/url*] code.. (no xxxx:// prefix).
    
$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
    
$replacements[] = $bbcode_tpl['url4'];

    
// [\email]user@domain.tld[\/email] code..
    
$patterns[] = "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
    
$replacements[] = $bbcode_tpl['email'];

    
$text preg_replace($patterns$replacements$text);

    
// Remove our padding from the string..
    
$text substr($text1);

    return 
$text;


cià!