首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将wikitext从Wiktionary更改为可读文本

将wikitext从Wiktionary更改为可读文本
EN

Stack Overflow用户
提问于 2020-03-08 07:15:23
回答 1查看 90关注 0票数 0

如何将Wikitext (如维基文源代码所示)转换为可读文本(如Wiktionary网站所示)。

所以这个来源:

代码语言:javascript
复制
{{ru-verb|ходи́ть|impf|pf=сходи́ть}}

应该被视为:

代码语言:javascript
复制
ходи́ть • (xodítʹ) impf (perfective сходи́ть)

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

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

EN

回答 1

Stack Overflow用户

发布于 2020-03-08 12:39:48

使用the parse API to get an HTML output

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

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

代码语言:javascript
复制
>>> 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函数:

代码语言:javascript
复制
$ 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 сходи́ть)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60583080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档