Visualizzazione risultati 1 fino 3 di 3

Discussione: [PHP] Inserire class in un BBCode

  1. #1
    Guest

    Predefinito [PHP] Inserire class in un BBCode

    Ciao a tutti,
    ho un problema con un BBCode che non riesco a risolvere. Io vorrei che a tutti i link che vengono inseriti grazie al bbcode venisse attribuita la class="link" e target"_blank".
    Questo è il codice:
    Codice PHP:
    ......
    $bbcodevar = array(
    "/\[b\](.*?)\[\/b\]/is" => "<strong>$1</strong>",
    "/\[i\](.*?)\[\/i\]/is" => "<em>$1</em>",
    "/\[u\](.*?)\[\/u\]/is" => "<u>$1</u>",
    "/\[img\](.*?)\[\/img\]/is" => "<img src=$1 />",
    "/\[url\](.*?)\[\/url\]/is" => "<a href=$1>$1</a>",
    "/\[url\=(.*?)\](.*?)\[\/url\]/is" => "<a class='link' target='_blank' href=$1>$2</a>",
    "/\[quote\](.*?)\[\/quote\]/is" => "<div class='forum_quote'>$1</div>",
    "/\[youtube\](.*?)\[\/youtube\]/is" => "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0'><param name='movie' value='$3' /><param name='quality' value='best' /><param name='play' value='true' /><embed pluginspage='http://www.macromedia.com/go/getflashplayer' src='$1' type='application/x-shockwave-flash' quality='best' play='true'></embed></object>",
    "/\[code\](.*?)\[\/code\]/is" => "<div class='forum_code'>$1</div>",
    "/\[marquee\](.*?)\[\/marquee\]/is" => "<marquee>$1</marquee>"
    );
    .....
    Come vedete ho provato ad inserirlo all'interno dello script di colleg. ipertestuale ma quando invio il form mi dà questo errore:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'link' target='_blank' href=http://www.google.it>Prov

    Non so proprio dove ho sbagliato!!! Grazie in anticipo per l'aiuto!

  2. #2
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Quando fai l'INSERT, le variabili le filtri con mysql_real_escape_string o con addslashes?
    EDIT:
    Quel codice lo puoi scrivere così:
    Codice PHP:
    $bbcodevar = array(
    "#\[b](.*?)\[/b]#is" => "<strong>$1</strong>",
    "#\[i](.*?)\[/i]#is" => "<em>$1</em>",
    "#\[u](.*?)\[/u]#is" => "<u>$1</u>",
    "#\[img](.*?)\[/img]#is" => '<img src="$1" />',
    "#\[url](.*?)\[/url]#is" => '<a href="$1">$1</a>',
    "#\[url=(.*?)](.*?)\[/url]#is" => '<a class="link" target="_blank" href="$1">$2</a>',
    "#\[quote](.*?)\[/quote]#is" => '<div class="forum_quote">$1</div>',
    "#\[youtube](.*?)\[/youtube]#is" => '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"><param name="movie" value="$3" /><param name="quality" value="best" /><param name="play" value="true" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" src="$1" type="application/x-shockwave-flash" quality="best" play="true"></embed></object>',
    "#\[code](.*?)\[/code]#is" => '<div class="forum_code">$1</div>',
    "#\[marquee](.*?)\[/marquee]#is" => "<marquee>$1</marquee>"
    );
    Ultima modifica di andreafallico : 30-05-2010 alle ore 10.55.43

  3. #3
    Guest

    Predefinito

    Grazie mille! Adesso funziona correttamente!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •