10. Sonstiges
10.1 Häfig gestellte Fragen
- Wie kann ich die Klasse dazu bringen, nicht zwischen Groß- und Kleinschreibung zu unterscheiden?
-
Der globale Flag
caseSensitive
steuert das Verhalten der gesamten Klasse. Wenn Sie diesen auffalse
setzen, wird bei allen Codes die Schreibweise ignoriert:$bbcode->setGlobalCaseSensitive (false);
Wenn Sie die Unterscheidung lediglich für einzelne Codes deaktivieren wollen, könne Sie den Code-Flag
'case_sensitive'
setzen. Beispiel für den Code[b]
:$bbcode->setCodeFlag ('b', 'case_sensitive', false);
- Wie kann ich in einer Callback-Funktion herausfinden, ob das Element direkt unterhalb des Wurzel-Elements sitzt?
-
Dazu verwenden Sie am besten folgende Abfrage:
if ($node_object->_parent->type() == STRINGPARSER_NODE_ROOT) {
// ist direkt unterhalb des Wurzel-Elements
} else {
// ist nicht direkt unterhalb des Wurzel-Elements
} - Wozu dient das Attribut
_id
eines Knotenobjekts? - Das Attribut dient lediglich zur Überprüfung, ob ein Knoten mit einem anderen Knoten identisch ist. Jedes Knotenobjekt besitzt die Funktion
equals
.$node1->equals ($node2);
gibt also genau danntrue
zurück, wenn beide Knoten identisch sind. Auf keinen Fall dürfen andere Rückschlüsse auf Grund des Attributs gemacht werden, insbesondere besitzt das Wurzel-Element nicht zwangsläfig die_id
0
.
10.2 Nützliche Interna
In diesem Kapitel soll nützliches über die Interna der Klasse dokumentiert werden. Es ist im Moment noch eine große Baustelle.
Man kann die Klasse auch dazu bewegen, die Baumstruktur nicht wieder zusammenzufassen, sondern stattdessen eine Referenz auf das Root-Element zurückzugeben. Dies erreicht man über das Setzen der Eigenschaft _noOutput
:
$bbcode->_noOutput = true;
- Zurück: 9. Vollständiges Beispiel