【问题标题】:Change wikitext from Wiktionary to readable text将维基文本从维基词典更改为可读文本
【发布时间】:2020-03-07 23:15:23
【问题描述】:

如何将 Wikitext(参见 Witkionary 源代码)转换为可读文本(参见 Wiktionary 网站)。

所以这个来源:

{{ru-verb|ходи́ть|impf|pf=сходи́ть}}

应该被视为:

ходи́ть • (xodítʹ) impf (perfective сходи́ть)

它在 Wikitext 中被称为模板,但是我在文档中找不到如何将该模板更改为人类可读的文本。

以前有人遇到过类似的问题吗?

【问题讨论】:

    标签: mediawiki-api wiktionary wikitext


    【解决方案1】:

    使用the parse API to get an HTML output

    您可以通过将 HTML 传递给浏览器来呈现 HTML...

    我不认为 MediaWiki 可以直接生成纯文本输出,但如果需要,可以使用第三方库。 在 Python 中并使用 Beautiful Soup 及其 get_text 方法,代码如下所示:

    >>> BeautifulSoup(
            requests.get(
                'https://en.wiktionary.org/w/api.php?action=parse&text=%7B%7Bru-verb|%D1%85%D0%BE%D0%B4%D0%B8%CC%81%D1%82%D1%8C%7Cimpf|pf=%D1%81%D1%85%D0%BE%D0%B4%D0%B8%CC%81%D1%82%D1%8C%7D%7D&prop=text&title=page_title&formatversion=2&format=json'
            ).json()['parse']['text']
        ).get_text(strip=True)
    'ходи́ть•(xodítʹ)impf(perfectiveсходи́ть)'
    

    更新:

    在 PHP 中使用 strip_tagshtml_entity_decode 函数:

    $ php -a
    Interactive mode enabled
    
    php > $json = file_get_contents('https://en.wiktionary.org/w/api.php?action=parse&text=%7B%7Bru-verb|%D1%85%D0%BE%D0%B4%D0%B8%CC%81%D1%82%D1%8C%7Cimpf|pf=%D1%81%D1%85%D0%BE%D0%B4%D0%B8%CC%81%D1%82%D1%8C%7D%7D&prop=text&title=page_title&formatversion=2&format=json');
    php > $json = json_decode($json, TRUE);
    php > $html = $json['parse']['text'];
    php > $pain_text = strip_tags(html_entity_decode ($html));
    php > echo $pain_text;
    ходи́ть • (xodítʹ) impf (perfective сходи́ть)
    

    【讨论】:

    • thx,我不知道如何在 PHP 中使用它:)。我会尝试找出或等待不同的答案,但非常感谢你,它可能会帮助我。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多