Problem mit den BBCodes
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausdruck
beitrag
bild
center
date
email
fetten
folgendes mal
komische funktion
kursiv unterstrich
right
schauen
skript
test
tutorial
wirkliche vernderung
-
Hallo,
ich habe folgendes mal versucht:
<?php function bbcode($bbcode) { $aBbcode = array(); $aBbcode['[ quote]'] = '<div id="quote"><b><u>Zitat:</u></b><br /><br />'; $aBbcode['[ /quote]'] = '</div>'; $aBbcode['[ b]'] = '<b>'; $aBbcode['[ /b]'] = '</b>'; $aBbcode['[ i]'] = '<i>'; $aBbcode['[ /i]'] = '</i>'; $aBbcode['[ u]'] = '<u>'; $aBbcode['[ /u]'] = '</u>'; $aBbcode['[ s]'] = '<s>'; $aBbcode['[ /s]'] = '</s>'; $aBbcode['[ center]'] = '<center>'; $aBbcode['[ /center]'] = '</center>'; $aBbcode['[ left]'] = '<p align="left">'; $aBbcode['[ /left]'] = '</p>'; $aBbcode['[ right]'] = '<p align="right">'; $aBbcode['[ /right]'] = '</p>'; $aBbcode['[ block]'] = '<p align="justify">'; $aBbcode['[ /block]'] = '</p>'; $aBbcode['[ hr]'] = '<hr>'; $bbcode = preg_replace("~\[ url\](.+?)\[ /url\]~si", '<a href="\\1">\\1</a>', $bbcode); $bbcode = preg_replace("~\[ email\](.+?)\[ /email\]~si", '<a href=mailto:\\1>\\1</a>', $bbcode); $bbcode = preg_replace("~\[ img\](.+?)\[ /img\]~si", '<center><div id="img"><a href=\\1 target=_blank><img border=0 src=\\1></a></div></center>', $bbcode); $bbcode = preg_replace("~\[ code\](.+?)\[ /code\]~si", '<center><div id="code">\\1</div></center>', $bbcode); $bbcode = preg_replace("~\[ edit\](.+?)\[/ edit\]~si", '<br /><br /><div id="edit">\\1</div>', $bbcode); $bbcode = preg_replace("~\[ php\](.+?)\[ /php\]~smi", '<div id="php">'.highlight_string('\\1', true).'</div>', $bbcode); foreach ($aBbcode as $sSearch => $sReplace) $bbcode = str_replace($sSearch, $sReplace, $bbcode); $bbcode = nl2br ( $bbcode ); return $bbcode; } $test = '[ php]<?php $date = time(); echo $date; ?>[ /php]'; echo bbcode ($test); ?>
Ausgeben wird mir aber nur:
echo $date; ?>
Warum?
Beitrag geaendert: 20.12.2006 15:04:34 von newwarrior -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Komische Funktion hast du da. Wozu da immer die ganzen Leerzeichen?
Also ich sehe das Problem bei den "/", diese musst du glaube ich auch noch escapen mit \.
Änder das mal und schau was er dann ausgibt!
Beitrag geaendert: 20.12.2006 15:13:42 von ******* -
Ich hab meine BBCodes anders gemacht... vor allem das preg_replace... bei mir sieht das etwa so aus:
$bbcode = preg_replace('!\[url\](.*?)\[/url\]!', '<a href='$1'>$1</a>', $bbcode); -
Komische Funktion hast du da. Wozu da immer die ganzen Leerzeichen?
Also ich sehe das Problem bei den "/", diese musst du glaube ich auch noch escapen mit \.
Änder das mal und schau was er dann ausgibt!
Beitrag geaendert: 20.12.2006 15:13:42 von *******
Mit oder ohne bringt keine wirkliche Veränderung... -
Eckige Klammern muss du glaube ich auch escapen und für die Highlightfunktion ( [php]...[/php] ) schau mal bei den Tutorials hier bei Lima, da gibts eine recht nette von spacke!
Wenn du unbedingt eine selber machen willst, schau dir am besten nochmal ein Tutorial von regulären Ausdrücken an! -
Eckige Klammern muss du glaube ich auch escapen und für die Highlightfunktion ( [php]...[/php] ) schau mal bei den Tutorials hier bei Lima, da gibts eine recht nette von spacke!
Wenn du unbedingt eine selber machen willst, schau dir am besten nochmal ein Tutorial von regulären Ausdrücken an!
Habe alles versucht mit den escapen hat nicht wirklich was gebraacht.
Leider.
Hat jemand anderes vielleicht noch ne idee? -
Wenn du willst kann ich dir mein BB-Code skript anbieten^^
Es beherrscht folgendes xD(lässt sich aber locker erweitern)
Fett
Kursiv
Unterstrich
Durchstrich
Blinken
Zentrieren
Bild
URL
Lol , das hilft mir nicht wirklich weiter.
Es klappt ja alles außer das PHP Hightlighten.
Das brauche ich auch nicht für meine Projekt.
Also werde ich es wohl auch wieder raus nehmen... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage