2011-01-14 10 views
1

PHPからSTDIN経由でPythonにHTMLテキストを送信しています。私の目指すのは、Aaron Swartzのスクリプト "html2text.py"を使用し、結果をPHPにSTDOUTで出力することです。PHPとPythonでhtml2textを使用してマークダウン形式のテキストを取得するSTDINとSTDOUTの方法

カマラード・ヤンは私に言葉をくれて、正しい方向に私を入れました。ここに私のテストです:

PHPコード:

$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コード:

#! /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]) 

結果:

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

すべてのファイルは(chmodの077の下で)同じディレクトリにあります。私はAaron Swartzのhtml2text.pyバージョン2.39を使用していますが、Fedora 14には "python-html2text.noarch"もインストールされています(この最後のバージョンでは動作しませんでしたが)。

+0

あなたはまた、あなたが使用しているコマンドラインを追加することはできますか? –

答えて

2

あなただけhtml2textする最後の行を渡している、とあなたは正しく代わりにこれを行うhtml2text使用していない。

import html2text 
import sys 

print html2text.html2text(sys.stdin.read()) 
関連する問題