维基百科用php,在PHP中解析维基百科标记的最佳方法是什么?
我試圖以結(jié)構(gòu)化的方式解析特定的維基百科內(nèi)容.這是一個示例頁面:
我取得了一些成功.我可以檢測到這個頁面是一個“specie”頁面,我也可以將Taxobox(右側(cè))的信息解析成一個結(jié)構(gòu).到現(xiàn)在為止還挺好.
但是,我也試圖解析文本段落.這些是由Wiki格式或HTML格式的API返回的,我目前正在使用Wiki格式.
我可以閱讀這些段落,但我想以特定的方式“清理”它們,因為最終我必須在我的應(yīng)用程序中顯示它并且它沒有Wiki標記的意義??.例如,我想刪除所有圖像.通過過濾掉[[Image:]]塊,這很容易.然而,還有一些我無法刪除的塊,例如:
{{轉(zhuǎn)換| 350 | – | 680 |公斤|簡稱=上}}
刪除整個塊將打破句子.并且有許多這樣的符號具有特殊含義.我想避免編寫100個正則表達式來處理所有這些,看看我如何能夠以更智能的方式解析它.
我的困境如下:
>我可以繼續(xù)我目前的半結(jié)構(gòu)化解析路徑
有很多工作刪除不需要的元素以及“模仿”
需要渲染的模板.
>或者,我可以從呈現(xiàn)的HTML輸出開始并解析它,但我擔(dān)心的是,以結(jié)構(gòu)化方式解析它同樣脆弱和復(fù)雜
理想情況下,有一個庫來解決這個問題,但我還沒有找到一個可以解決這個問題的工具.我也看過像DBPedia這樣的結(jié)構(gòu)化維基百科數(shù)據(jù)庫,但那些只有我已經(jīng)擁有的相同結(jié)構(gòu),他們沒有在Wiki文本本身提供任何結(jié)構(gòu).
總結(jié)
以上是生活随笔為你收集整理的维基百科用php,在PHP中解析维基百科标记的最佳方法是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php form提交跳转,form表单页
- 下一篇: oracle经典增删该查,oracle基