Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] String-Array in einen Baum umwandeln (https://www.delphipraxis.net/77906-%5Bphp%5D-string-array-einen-baum-umwandeln.html)

3_of_8 26. Sep 2006 17:16


[PHP] String-Array in einen Baum umwandeln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Morgen. Ich habe ein Array mit folgenden Elementtypen:

'[irgendwas=wuppdi,blubb,wuppdi]':
Ein Starttag, leitet einen neuen Knoten ein.
Das Pattern \[.*?(=.*?)?\][\r]?[\n]? matcht.
Der Teil nach dem = ist optional.

'irgendwas':
Ein Plaintext. Er ist sozusagen der Inhalt des Tags.

'[/irgendwas]':
Ein Endtag, beendet einen Knoten.
Das Pattern \[/.*?(=.*?)?\][\r]?[\n]? matcht.

Tjaa, wie parse ich das jetzt in einen Baum?

Ein Knoten sieht bei mir so aus:
Code:
class node {
 
  var $content, $params, $plain, $children;

  function addnode() {
    $child=new node();
    $this->children[]=$child;
    return $child;
  }
 
}
$content ist bei einem BB-Code der Code und bei einem node mit $node->plain==1 der Text.
$params sind die Parameter, also bei '[ quote=asdf]' wäre das 'asdf'.
$plain ist, wie weiter oben schon steht, ob der content als BB-Code oder als Text zählt
$children ist ein Array mit den Subknoten.

Folgender Code würde dem Baumdiagramm im Anhang entsprechen:
Code:
[b]Wuppdi[/b]
[quote]
[i]
[color=#424242]
Blubb
[/color]
[/i]
[/quote]
Foo


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz