Text aus Word extrahieren/parsen
25 02 2009Um Text aus einem Word-Dokument (.doc) heraus zu extrahieren kann man folgende Funktion verwenden:
function read_word($user_doc) { $file = fopen($user_doc, "r"); $input = fread($file, filesize($user_doc)); $zeilen = explode(chr(0x0D), $input); $ausgabe = ""; foreach($zeilen as $einzelzeile){ $pos = strpos($einzelzeile, chr(0x00)); if(($pos !== FALSE)||(strlen($einzelzeile)==0)) { } else { $ausgabe .= $einzelzeile." "; } } $ausgabe = preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\t@\/\_\(\)!]/", "", $ausgabe); return $ausgabe; }
Der Aufruf erfolgt so:
$text = read_word("testdoc.doc");
Die Funktion liest den Inhalt der Word-Datei ein und trennt den Inhalt nach einem Zeilenende (0×0D), entfernt alle überflüssigen Zeichen (welche das sein sollen kann man selber noch festlegen mit Hilfe des regulären Ausdruckes in Zeile 13. Dort genannte Zeichen bleiben im Text erhalten.). Anschließend führt die Funktion die Textzeilen aus dem Word-Dokument wieder zusammen. Wie dabei Zeilenumbrüche erhalten bleiben habe ich leider noch nicht herausgefunden.
Kategorien : Allgemein





