Einzelnen Beitrag anzeigen

Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#4

Re: Wieder mal phpBB und BBCodes

  Alt 29. Aug 2006, 20:43
Ich habe mir auch mal eine solche Funktion geschrieben. Da bekommst du keine Probleme mit verschachtelten Tags...
Allerdings ist die Optimierung mit der bbcode id die phpbb drin hat nicht drin. Aber das wäre ja leicht zu ergänzen...
Code:
function bbcode($text)
{
  return preg_replace(Array
    (
      '/\[strong\](.+?)\[\/strong\]/',
      '/\[i\](.+?)\[\/i\]/',
      '/\[b\](.+?)\[\/b\]/',
      '/\[u\](.+?)\[\/u\]/',
      '/\[(h[1-6])\](.+?)\[\/\1\]/',
      '/\[img\](.+?)\[\/img\]/',
      '/\[img="(.+)"\](.+?)\[\/img\]/',
      '/\[url=(.+?)\](.+?)\[\/url\]/',
      '/\[google\](.+?)\[\/google\]/e',
      '/(?<=\s)([a-zA-Z]+?:\/\/[^\s"]+?)(?=\s)/'
    ),Array
    (
      '[b]\1[/b]',
      '[i]\1[/i]',
      '[b]\1[/b]',
      '<u>\1</u>',
      '<\1>\2</\1>',
      '[img]\1[/img]',
      '[img]\2[/img]',
      '[url="\1"]\2[/url]',
      '\'[url="http://www.google.de/search?q=\'.urlencode(\'\1\').\'"]\1[/url]\'',
      '[url="\1"]\1[/url]'
    ), $text);
}
EDIT:
Zitat von Khabarakh:
Bei verschachtelten Tags oder falschem HTML-Code bekommst du ein Problem. Letzteres sollte wohl nocht tolerierbar sein .
Wie soll man denn da zu falschem HTML kommen...?

EDIT2: Der google-tagt kann zu einer Sicherheitslücke führen, wenn du ' nicht escaped hast.
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat