我正在通过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())