RTF-string zu Plain-Text konvertieren mit php

- 18.08.2013
von Thomas Windscheif / Microlinc



Nachdem ich mich mit einer sehr individuellen Lösung eines Memofiles für dBase-DBs auseinandersetzen musste (die Memos wurden in eine beliebig bennante 2. dBase-DB sequenziell verkettet gespeichert und dann auch noch gemischt im rtf- & Plain-Format), gibt es heute einen kleinen Tipp für rtf zu plain Konvertierung mittels php.

Ich exportierte die Daten erst einmal in eine CSV und schrieb ein kleines php-Programm welches die verkettenen Memostücke zusammensucht und in einem Array zusammenfügt. Anschließend wollte ich die rtf-Formatierung entfernen (weil die neue DB bzw. das Programm diese nicht lesen kann).

Hier der Anfang eines rtf-formatierten Memos :
{\rtf1\ansi\deff0\

Leider gibt es mehr RTF-Dokument-Converter als string-converter. Letztlich fand ich aber nach einiger Suche auf folgender Seite einen hervorragenden rtf-string-converter in php:
http://webcheatsheet.com/php/reading_the_clean_text_from_rtf.php

Dieses php-Skript ist einfach nur grandios (ich hatte schon Angst es selber schreiben zu müssen).
Ich änderte nur folgenden Teil um:

function rtf2text($filename) {
// Read the data from the input file.
//$text = file_get_contents($filename);
$text=$filename;
if (!strlen($text))
return "";


Schon konnte ich das Skript mit meinen Array-Inhalten füllen. Es konvertiert auch rtf-Zeilenumbrüche autmatisch in \n um.
MICROL!NC - URL zum Artikel: http://microlinc.homeip.net/index.php?lev1=7&lev2=9&lev3=1&id=175 - Ausdruck vom 20.04.2024