Hi!
Ich hab ein seltsames Problem, was evtl. durch die unterschiedlichen PHP-Versionen zustande kommt...
Ich nutze
diese Klassen um BB-Codes auf meiner Seite anzeigen zu lassen. Dazu hab ich mir vor einigen Monaten bereits einmal die Zeit genommen die Klasse zu initalisieren nach meinen Wünschen... Es lief auch sehr gut (mit PHP4-Servern).
Jetzt hab ich das ganze auf einem PHP5-Server hochgeladen und bekomme lange Texte die so aussehen:
Code:
'.htmlspecialchars ($content).''); } return ''.$content.''; } // Funktion zum Einbinden von Bildern function do_bbcode_img ($action, $attributes, $content, $params, $node_object) { if ($action == 'validate') { return true; } return ''; } function do_galery_img ($action, $attributes, $content, $params, $node_object) { if ($action == 'validate') { return true; } return ''; } $
bbcode = new StringParser_BBCode (); $
bbcode->addFilter (STRINGPARSER_FILTER_PRE, 'convertlinebreaks'); $
bbcode->addParser (array ('block', 'inline', 'link', 'listitem'), 'htmlspecialchars'); $
bbcode->addParser (array ('block', 'inline', 'link', 'listitem'), 'nl2br'); $
bbcode->addParser ('list', 'bbcode_stripcontents'); $
bbcode->addCode ('b', 'simple_replace', null, array ('start_tag' => '', 'end_tag' => '')
Wohl bemerkt, ich wollte an dieser Stelle
nichts ausgeben
Das Ganze geht auch noch ein Weilchen so weiter. Die Code-Schnipsel hab ich zum Größten Teil aus der Doku übernommen, wenn ich mich recht erinnere... Ist aber schon ne Zeitlang her.
Hier jedenfalls Auszüge aus dem Original-Code:
Code:
function do_bbcode_url ($action, $attributes, $content, $params, $node_object) {
if ($action == 'validate') {
return true;
}
if (!isset ($attributes['default'])) {
return '[
url="'.htmlspecialchars ($content).'"]'.htmlspecialchars ($content).'[/
url]';
}
return '[
url="'.htmlspecialchars ($attributes['default']).'"]'.$content.'[/
url]';
}
// Funktion zum Einbinden von Bildern
function do_bbcode_img ($action, $attributes, $content, $params, $node_object) {
if ($action == 'validate') {
return true;
}
return '[img]'.htmlspecialchars($content).'[/img]';
}
function do_galery_img ($action, $attributes, $content, $params, $node_object) {
if ($action == 'validate') {
return true;
}
return '<td>[img]'.htmlspecialchars($content).'[/img]</td>';
}
Wie gesagt, nur ein Auszug, ich könnte jedoch weitere Schnipsel posten. Der Code hat jedenfalls bereits exzellent funktioniert mit PHP4.
Die Version, auf der es nicht läuft ist übrigens PHP 5.2.
Ich bin echt ratlos und habe keinen Schimmer, wieso es nicht funktioniert