bisselbock
Grünschnabel
Guten Tag,
ich verwende die StringParser_BBCode Klasse von Christian Seiler.
Nun habe ich die Inititalisierung des Objektes sowie eine wichtige Funktionen in eine bbcode.inc.php gepackt:
Nun habe ich diese Datei auf meiner Seite per include eingebunden.
Auf einer Seite, wo ich Forenbeiträge ausgebe, kann ich die DB-Einträge mit
parsen und ausgeben. Nun klicke ich auf diese Seite auf "Antworten" und möchte unter dem dann erstellten Formular gerne die letzten x Einträge anzeigen und rufe da die Funktion
auf.
Innerhalb dieser Funktion möchte ich wieder
benutzen. Leider schlägt das mit der Fehlermeldung
Wieso geht das nicht? Zur Info: Die addreply.inc.php schließt natürlich auch die bbcode.inc.php ein, wo die das Objekt $bbcode initialisiert wird.
ich verwende die StringParser_BBCode Klasse von Christian Seiler.
Nun habe ich die Inititalisierung des Objektes sowie eine wichtige Funktionen in eine bbcode.inc.php gepackt:
PHP:
<?php
require_once './inc/forum/bbcode/stringparser_bbcode.class.php';
$bbcode = new StringParser_BBCode();
function do_bbcode_img ($action, $attributes, $content, $params, $node_object) {
if ($action == 'validate') {
return true;
}
return '<img src="'.htmlspecialchars($content).'" alt=""/>';
}
function do_bbcode_url ($action, $attributes, $content, $params, $node_object) {
if ($action == 'validate') {
return true;
}
if (!isset ($attributes['default'])) {
return '<a target="_blank" href="'.htmlspecialchars ($content).'">'.htmlspecialchars ($content).'</a>';
}
return '<a target="_blank" href="'.htmlspecialchars ($attributes['default']).'">'.$content.'</a>';
}
$bbcode->addCode ('b', 'simple_replace', null, array ('start_tag' => '<b>', 'end_tag' => '</b>'),
'inline', array ('block', 'inline'), array ());
$bbcode->addCode ('i', 'simple_replace', null, array ('start_tag' => '<i>', 'end_tag' => '</i>'),
'inline', array ('block', 'inline'), array ());
$bbcode->addCode ('u', 'simple_replace', null, array ('start_tag' => '<u>', 'end_tag' => '</u>'),
'inline', array ('block', 'inline'), array ());
$bbcode->addCode ('img', 'usecontent', 'do_bbcode_img', array (),
'image', array ('listitem', 'block', 'inline', 'link'), array ());
$bbcode->addCode ('bild', 'usecontent', 'do_bbcode_img', array (),
'image', array ('listitem', 'block', 'inline', 'link'), array ());
$bbcode->addCode ('url', 'usecontent?', 'do_bbcode_url', array ('usecontent_param' => 'default'),
'link', array ('listitem', 'block', 'inline'), array ('link'));
$bbcode->addCode ('link', 'callback_replace_single', 'do_bbcode_url', array (),
'link', array ('listitem', 'block', 'inline'), array ('link'));
?>
Auf einer Seite, wo ich Forenbeiträge ausgebe, kann ich die DB-Einträge mit
PHP:
$bbcode->parse($row['Text']);
PHP:
showLastPosts($threadID, $numberOfPosts);
Innerhalb dieser Funktion möchte ich wieder
PHP:
$bbcode->parse($row['Text']);
fehl.Fatal error: Call to a member function parse() on a non-object in D:\Entwicklung\PHP\bisselbock.de\inc\forum\addreply.inc.php on line 142
Wieso geht das nicht? Zur Info: Die addreply.inc.php schließt natürlich auch die bbcode.inc.php ein, wo die das Objekt $bbcode initialisiert wird.