我正在尝试设置一个翻译工具来翻译网站。我想做的是导入html-code
并从该站点获取所有可翻译的文本。
一个想法是使用 strip_tags
,但它会忽略可以翻译的字符串,例如替代文本、标题文本以及我还没有想到的其他字符串。有没有一种干净的方法来做到这一点?
在这种情况下,您需要自己解析HTML并提取文本。您可能已经知道,使用正则表达式解析HTML是一个坏主意(tm)。因此,唯一正确的解决方案是解析文档的 DOM。在此步骤中,您可以自由使用任何工具,包括标准 DOMDocument 类。
如果您正在寻找一些库或脚本来提供帮助,我建议您查看可以用于商业用途的html2text。如我所见,它不支持<img>
标签的属性,但很容易修复(以<a>
标签为例)。
如果您正在寻找一些自动文本提取,那么您绝对应该查看像 Bolierpipe 这样的东西。
我个人会使用Symfony2的DOM Crowler组件,它是php DOM函数的一个很好的包装器,并从那里开始。