Конвертировать раздел страницы Википедии в NSString Objective-C - PullRequest
3 голосов
/ 13 ноября 2011

Я работаю над кодом, который получает раздел страницы Википедии в виде строки NSString. Я нашел в сети встроенную ссылку, которая возвращает необработанные данные раздела. Например, чтобы получить первый раздел страницы Википедии «Бостон», вы должны перейти по адресу: http://en.wikipedia.org/w/index.php?title=Boston&action=raw&section=0.

И что я пытаюсь добиться, это преобразовать эти необработанные данные в то, что можно увидеть на обычной странице Википедии: http://en.wikipedia.org/wiki/Boston.

Сначала я решил использовать регулярные выражения для анализа блоков, которые начинаются с {{ и заканчиваются }}. Однако это оказалось проблематичным, и он удалил необходимый текст.

Затем я подумал, что смогу как-то найти конвертер разметки вики в html (присутствует везде в сети) для Objective-C, но мне не повезло.

Есть несколько похожих вопросов по SO, но ни один из них, похоже, не решен четко:

Итак, чтобы возобновить, кто-нибудь знает, как разобрать вики-страницу в строку NSString?

Заранее спасибо.

1 Ответ

1 голос
/ 13 ноября 2011

Используйте синтаксический анализатор PEG WikiText, такой как kiwi: https://github.com/AboutUs/kiwi

Правила вывода синтаксического анализа киви можно найти здесь: https://github.com/AboutUs/kiwi/blob/master/src/syntax.leg

Вам потребуется скачать peg / leg для компиляциифайл ноги: http://piumarta.com/software/peg/

...