[PHP] einfacher BBCode
#1
Um einen einfachen BBCode (hier für fett, kursiv und unterstrichen) zu schreiben wie er in vielen Foren und GB's vorhanden ist verwenden wir wieder reguläre Ausdrücke wie bei der Mail Überprüfung
Diesmal jedoch die Funktion eregi_replace um den regulären Ausdruck (BBCode) mit dem dafür zuständigen html Code zu ersetzen
am besten ist es diese Funktion erst beim ausgeben des gespeicherten Textes durchzuführen

PHP-Code:
function bbcode($text)
{
$text eregi_replace("\[b\]""<b>"$text);
$text eregi_replace("\[/b\]""</b>"$text);
$text eregi_replace("\[i\]""<i>"$text);
$text eregi_replace("\[/i\]""</i>"$text);
$text eregi_replace("\[u\]""<u>"$text);
$text eregi_replace("\[/u\]""</u>"$text);
return(
$text);



aufgerufen wird diese Funktion durch
PHP-Code:
function bbcode($text

hier wird nichts weiter getan als BBCode [b] durch html Code <b> ersetzt
(die / vor den [] dienen nur dazu das die Klammern nicht von PHP interpretiert werden)

edit: weiterer BBCode folgt später

© by kickedINtheHEAD
Write this on my gravestone, write this right on my grave, "To whisky and women, here lies a poor slave".

[Bild: 10_en_btn.gif]

Computer- und Mediensicherheit - FH Hagenberg
Hagenberger Kreis zur Förderung der digitalen Sicherheit
Security Forum
  Zitieren
#2
Hi, das hat mir bisher schon sehr geholfen Smile Danke

Weißt du auch die BBCodes für Links (<a href=..) und bilder?

das wäre super Smile)
  Zitieren
#3
PHP-Code:
$text=eregi_replace("\[IMG\]([^[]+)\[/IMG\]""<img src=\"\\1\" border=\"0\" alt=\"\">"$text);
$text=eregi_replace("\[A\]([^[]+)\[/A\]""<a href=\"\\1\">"$text); 

i hoff mal des funzt
Write this on my gravestone, write this right on my grave, "To whisky and women, here lies a poor slave".

[Bild: 10_en_btn.gif]

Computer- und Mediensicherheit - FH Hagenberg
Hagenberger Kreis zur Förderung der digitalen Sicherheit
Security Forum
  Zitieren
#4
danke, ich werde das dann gleich ausprobieren Smile)

So einen Code hatte ich früher mal. Aber da wurde gesagt das er nur bei neueren php versionen funktioniert
  Zitieren
#5
Zitat:[code=php]function bbcode($text)
{
$text = eregi_replace("\[b\]", "<b>", $text);
$text = eregi_replace("\[/b\]", "</b>", $text);
$text = eregi_replace("\[i\]", "<i>", $text);
$text = eregi_replace("\[/i\]", "</i>", $text);
$text = eregi_replace("\[u\]", "<u>", $text);
$text = eregi_replace("\[/u\]", "</u>", $text);
return($text);
}
[/code]

Sicher, dass man diesen Code unbedingt nehmen sollte?
Dieser ist nämlich extrem langsam.
Ich würde dir für solche Fälle die Funktion str_replace() empfehlen.
Die PHP-Regexp sind für solche komplizierteren Fälle wie bei den Links gedacht.


Bis dann,

codethief
  Zitieren
#6
es ist eigentlich egal - da die abfrage nicht kompliziert ist wirst auch mit eregi_replace net länger brauchen Wink
Write this on my gravestone, write this right on my grave, "To whisky and women, here lies a poor slave".

[Bild: 10_en_btn.gif]

Computer- und Mediensicherheit - FH Hagenberg
Hagenberger Kreis zur Förderung der digitalen Sicherheit
Security Forum
  Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste