Dokumentation der StringParser_BBCode-Klasse

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 auf false 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 dann true 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;