Как использовать STDIN и STDOUT с PHP и Python, чтобы использовать html2text и получить форматированный текст уценки? - PullRequest
1 голос
/ 14 января 2011

Я отправляю текст HTML из PHP в Python через STDIN. Моя задача - использовать скрипт Аарона Шварца "html2text.py" и распечатать результат в PHP через 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). Я использую html2text.py Aaron Swartz версии 2.39, а также установил «python-html2text.noarch» на своей Fedora 14 (хотя я не мог заставить его работать с этим последним).

1 Ответ

2 голосов
/ 14 января 2011

Вы просто передаете последнюю строку html2text и не используете html2text правильно, вместо этого сделайте следующее:

import html2text
import sys

print html2text.html2text(sys.stdin.read())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...