2013-01-23 35 views
2

我試圖設置一個翻譯工具來翻譯網站。我想要做的是導入html-code並從該網站獲取所有可翻譯的文本。使用php從網站/ html頁面獲取所有可翻譯的文本

一個想法是使用strip_tags,但它會忽略可以被翻譯的字符串,如alt-texts,標題文本和其他可能我還沒有想到的其他字符。有沒有一種乾淨的方式來做到這一點?

+1

查看PHP手冊中的DOMDocument – GordonM

回答

1

在這種情況下,您需要解析HTML並自行提取文本。正如你可能已經知道的那樣,用正則表達式解析HTML是A Bad Idea (tm)。所以,唯一正確的解決方案是解析文檔的DOM。在這一步中,您可以自由使用任何工具,包括標準DOMDocument類。

如果您正在尋找一些圖書館或腳本來幫助,我會建議看看html2text這可以用於商業。正如我所看到的,它不支持<img>標記的屬性,但它很容易修復(使用<a>標記作爲示例)。

如果你正在尋找一些自動文本提取,那麼你應該看看像Bolierpipe這樣的東西。

1

我會親自使用Symfony2中的DOM Crowler component,這是一個很好的PHP DOM函數封裝,並從那裏開始。