Pagina 1 van 1

[php] functie BBCode parser

BerichtGeplaatst: 14 feb 2013 14:05
door Stef
Voorheen gebruikt op Webmasterplein/Silent.be:

Versie Derk
Code: Selecteer alles
function add_bbcode($text)
{
    $text = stripslashes($text);
    $text = htmlspecialchars($text);

    // Font dingen:
    $text = preg_replace("/\[b\](.+?)\[\/b\]/is",'<b>\1</b>', $text); 
    $text 
= preg_replace("/\[u\](.+?)\[\/u\]/is",'<u>\1</u>', $text); 
    $text 
= preg_replace("/\[i\](.+?)\[\/i\]/is",'<i>\1</i>', $text); 
    $text 
= preg_replace("/\[s\](.+?)\[\/s\]/is",'<s>\1</s>', $text); 

    $text 
= preg_replace("/\[img\](.+?)\[\/img\]/is",'<img src="\1" />', $text); 

    $text 
= preg_replace("~(\s|^)((?:https?|ftp|irc)://[-a-z0-9+&@#/%?=\~_|!:,.;]*[-a-z0-9+&@#/%=\~_|])\b~si",'\1<a href="\2" target="_blank">\2</a>', $text); 
    $text 
= preg_replace("~(\s|^)((?:[a-z][-a-z0-9+&@#/%?=\~_|!:,.;]+)\.(?:[a-z]{2,6}))\b~si",'\1<a href="http://\2" target="_blank">\2</a>', $text); 
    
    $text 
= preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/is",'<a href=\1>\2</a>', $text); 
    

    $text 
= preg_replace("/\[red\](.+?)\[\/red\]/is",'<font color=red>\1</font>', $text); 
    $text 
= preg_replace("/\[blue\](.+?)\[\/blue\]/is",'<font color=blue>\1</font>', $text); 
    $text 
= preg_replace("/\[green\](.+?)\[\/green\]/is",'<font color=green>\1</font>', $text); 
    $text 
= preg_replace("/\[yellow\](.+?)\[\/yellow\]/is",'<font color=yellow>\1</font>', $text);
    $text = preg_replace("/\[orange\](.+?)\[\/orange\]/is",'<font color=orange>\1</font>', $text);

    return $text;
}


Versie Stef
Code: Selecteer alles
// BBcode in verwerken:
function add_bbcode($text)
{
    $text = stripslashes($text);
    $text = htmlsp[code=php]function add_bbcode($text)
{
    $text = stripslashes($text);
    $text = htmlspecialchars($text);

    // Font dingen:
    $text = preg_replace("/\[b\](.+?)\[\/b\]/is",'<b>\1</b>', $text);
    $text = preg_replace("/\[u\](.+?)\[\/u\]/is",'<u>\1</u>', $text);
    $text = preg_replace("/\[i\](.+?)\[\/i\]/is",'<i>\1</i>', $text);
    $text = preg_replace("/\[s\](.+?)\[\/s\]/is",'<s>\1</s>', $text);

    $text = preg_replace("/\[img\](.+?)\[\/img\]/is",'<img src="\1" />', $text);

    $text = preg_replace("~(\s|^)((?:https?|ftp|irc)://[-a-z0-9+&@#/%?=\~_|!:,.;]*[-a-z0-9+&@#/%=\~_|])\b~si",'\1<a href="\2" target="_blank">\2</a>', $text);
    $text = preg_replace("~(\s|^)((?:[a-z][-a-z0-9+&@#/%?=\~_|!:,.;]+)\.(?:[a-z]{2,6}))\b~si",'\1<a href="http://\2" target="_blank">\2</a>', $text);
   
    $text = preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/is",'<a href=\1>\2</a>', $text);
   

    $text = preg_replace("/\[red\](.+?)\[\/red\]/is",'<font color=red>\1</font>', $text);
    $text = preg_replace("/\[blue\](.+?)\[\/blue\]/is",'<font color=blue>\1</font>', $text);
    $text = preg_replace("/\[green\](.+?)\[\/green\]/is",'<font color=green>\1</font>', $text);
    $text = preg_replace("/\[yellow\](.+?)\[\/yellow\]/is",'<font color=yellow>\1</font>', $text);
    $text = preg_replace("/\[orange\](.+?)\[\/orange\]/is",'<font color=orange>\1</font>', $text);

    return $text;
}
`

Re: [php] functie BBCode parser

BerichtGeplaatst: 14 feb 2013 14:53
door KillerSponge
Stef's versie is stuk :(

Re: [php] functie BBCode parser

BerichtGeplaatst: 14 feb 2013 21:17
door Stef
Autch. Het was meer om de boel te fixxen dat ik deze (corrupte topic) opnieuw kon plaatsen. Mensen voel je vrij om dus hippe snippets te plaatsen. Want BBCode.. wie gebruikt dat nog!

Re: [php] functie BBCode parser

BerichtGeplaatst: 15 feb 2013 00:40
door KillerSponge
Mja, al die corrupte troep is een beetje jammer, zit nog steeds niet helemaal goed. Zorgde er op een gegeven moment zelfs voor dat spamtopics niet meer te verwijderen waren. Hoe heb je dat precies opgelost? (nooit echt veel tijd in gestoken, tbh :oops: )

Re: [php] functie BBCode parser

BerichtGeplaatst: 15 feb 2013 14:46
door Stef
Vanuit het Moderatorpaneel de topiclijst verwijderen. En topics die corrupt zijn in zijn geheel verwijderen. Helaas was de gebruiker al verwijderd, anders had het veel makkelijker gekund. :P