如何使用 PHP 和 Python 进行 STDIN 和 STDOUT 以使用 html2text 并获取 Markdown 格式的文本?

发布于 2024-10-12 12:58:46 字数 910 浏览 2 评论 0原文

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

简同志给了我指示,并为我指明了正确的方向。这是我的测试:

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”(尽管我无法让它与最后一个一起使用)。

I am sending an HTML text from PHP to Python via STDIN. My objctive is to use Aaron Swartz's script "html2text.py" and to print the result to PHP via STDOUT.

Camarade Jan gave me the word and put me in the right direction. Here's my 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])

Result:

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

All the files are in the same directory (under chmod 077). I am using Aaron Swartz's html2text.py version 2.39 and also installed "python-html2text.noarch" on my Fedora 14 (though I couldn't make it work with this last one).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜声 2024-10-19 12:58:46

您只是将最后一行传递给 html2text ,并且您没有正确使用 html2text ,请改为执行以下操作:

import html2text
import sys

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

You're just passing the last line to html2text , and you are not using html2text correctly do this instead :

import html2text
import sys

print html2text.html2text(sys.stdin.read())
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文