我正在通过STDIN将HTML文本从PHP发送到Python。我的目标是使用Aaron Swartz的脚本“ html2text.py”,并通过STDOUT将结果打印到PHP。

卡玛拉德·简(Camarade Jan)给了我这个词,并把我带向正确的方向。这是我的测试:

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”(尽管我无法使其与最后一个兼容)。

最佳答案

您只是将最后一行传递给html2text,而没有正确使用html2text,而是这样做:

import html2text
import sys

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

10-07 13:51