Ich hoff mal, das ist der Richtige Ort dafür. Ich habs versäumt, Nuit beim Parser zu helfen und hatte heute, da Ferien, zuviel Zeit. Dabei hab ich user-271's Version ausprobiert, und bei einem Beispiel gemerkt, dass Tabellen noch nicht so ganz richtig geparst werden. Deshalb hier mein eigener Versuch:
Bisher kann er manche Inline-Tags interpretieren (Kursiv, Fett, Sup und Sub), Definitionslisten, Sortierte Listen, unsortierte Listen (auch verschachtelt), Tabellen (Ebenso verschachtelt, noch nicht intensiv getestet).
Zum Gebrauch:
Es ist eine Instanz des Parsers zu erstellen, wobei Tags aktiviert und deaktiviert werden können. Zur Zeit ist das reichlich überflüssig, da nur Tabletags funktionieren.
Ein Text, der geparst werden soll, kann mit WikiParser->setText($text) festgelegt werden. Alternativ ist direkt eine Datei mit WikiParser->setTextAsFilename($dateiname); hinzugefügt werden. Auf Kommando wird der gespeicherte Text mit Wikiparser->_parse(); geparst, auf den geparsten Text kann mit WikiParser->getText() zugegriffen werden.
mit WikiParser->clearText() kann die Instanz geleert werden um neuen Text zu parsen.
Ein Beispiel:
$WikiParser = new WikiParser(); # Kein Argument => ALle Tags erlaubt
$WikiParser->setTextAsFilename('test.wiki'; # Text setzen
$WikiParser->_parse();
echo $WikiParser->getText();
Inhalt test.wiki:
{|
|-
! Zeile 1, Spalte 1
! Zeile 2, Spalte 2
|-
| Zeile 2, Spalte 1
| Zeile 2, Spalte 2
|-
|colspan="2"| {|
|-
! Zeile 1, Spalte 1
! Zeile 2, Spalte 2
|-
| Zeile 2, Spalte 1
| Zeile 2, Spalte 2
|}
|}
Online-Beispiel:
http://basi-net.org/tools/wikisyntax