如何将Wikitext (如维基文源代码所示)转换为可读文本(如Wiktionary网站所示)。
所以这个来源:
{{ru-verb|ходи́ть|impf|pf=сходи́ть}}应该被视为:
ходи́ть • (xodítʹ) impf (perfective сходи́ть)它在Wikitext中称为模板,但是如何将模板更改为人类可读的文本,我在文档中找不到。
以前有没有人遇到过类似的问题?
发布于 2020-03-08 12:39:48
使用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_tags和html_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 сходи́ть)https://stackoverflow.com/questions/60583080
复制相似问题