2011-01-14 4 views
1

Ich sende einen HTML-Text von PHP nach Python über STDIN. Mein Ziel ist es, das Skript "html2text.py" von Aaron Swartz zu verwenden und das Ergebnis über STDOUT in PHP zu drucken.Wie zu STDIN und STDOUT mit PHP und Python, um html2text zu verwenden und einen Abdruck formatierten Text zu erhalten?

Camarade Jan gab mir das Wort und brachte mich in die richtige Richtung. Hier ist mein Test:

PHP-Code:

$t='<p><b>Hello</b><i>world!</i></p>'; 
$scaped=preg_quote($t,"/")."\n";//\<p\>\<b\>Hello\<\/b\>\<i\>world\!\<\/i\>\<\/p\> 
exec('python hi.py '.$scaped,$r); 
print_r($r);//result 

Python-Code:

#! /usr/bin/env python 
import html2text 
import sys 
#print html2text.html2text(sys.stdin.read()) #this part of the code didn't work out... 
print html2text.html2text(sys.argv[1]) 

Ergebnis:

Array 
(
    [0] => **Hello**_world!_ 
    [1] => 
    [2] => 
) 

Alle Dateien sind im selben Verzeichnis (unter chmod 077) . Ich benutze Aaron Swartz's html2text.py Version 2.39 und habe auch "python-html2text.noarch" auf meinem Fedora 14 installiert (obwohl ich es nicht mit dem letzten funktionieren lassen konnte).

+0

Können Sie fügen Sie auch die Befehlszeile Sie verwenden? –

Antwort

2

Sie vorbei gerade die letzte Zeile html2text, und Sie richtig diese stattdessen nicht mit html2text tun:

import html2text 
import sys 

print html2text.html2text(sys.stdin.read()) 
Verwandte Themen