Datum: 12.08.2008
, Kategorie:
PHP
Die Nutzung der Pear-Klasse Text_Wiki ist relativ simpel und mit wenigen Zeilen Code zu bewerkstelligen:
<?php
// Klasse laden
require_once 'Text/Wiki.php';
// Instanz der Klasse erzeugen
$wiki = new Text_Wiki();
// Beispiel-Wiki-Code
$content = "Dieser Text ist '''fettgedruckt'''.";
// Wiki-Code parsen und ausgeben
echo $wiki->transform($content);
?>
Möchte man stattdessen den Syntax vom MediaWiki verwenden, hilft die Klasse Text_Wiki_Mediawiki.
<?php
// Klasse laden
require_once 'Text/Wiki/Mediawiki.php';
// Instanz der Klasse erzeugen
$wiki = new Text_Wiki_Mediawiki();
// [...]
?>
Wer mit UTF-8 arbeitet, dürfte an dem Ergebnis jedoch wenig Freude haben. Mit Umlauten gibt es standardmäßig Probleme. Abhilfe schafft folgende Zeile:
<?php
// Zeichensatz festlegen
$wiki->setFormatConf('Xhtml', 'charset', 'UTF-8');
?>
Bei der Ausgabe der Inhalte als XHTML wird nämlich die PHP-Funktion htmlentities() ausgeführt. Standardmäßig wird dabei ISO-8859-1 als Zeichensatz verwendet, was bei UTF-8-formatiertem Text die Umlaute zerstört.
Tipp für diejenigen, die automatisch ein Inhaltsverzeichnis auf Basis der Textüberschriften (h2, h3, ...) anzeigen lassen möchten. Dazu fügt man [[toc]] an der Stelle im Text ein, an der die Übersicht erscheinen soll. Wem der Englische Titel "Table of Contents" nicht gefällt, kann mit folgender Zeile seinen eigenen Titel setzen.
<?php
$wiki->setRenderConf('Xhtml', 'toc', 'title', 'Inhaltsverzeichnis');
?>