是否有用于解析gettext PO POT文件的PHP库?

时间:2011-12-08 15:50:47

标签: php parsing gettext po

如果不在PHP中,可以使用一些命令行工具将PO文件转换为某种结构化格式,例如XML或其他一些我可以在PHP中简单处理的东西?

2 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

一些简单的正则表达式将允许您解析.PO / .POT文件。我最近做了类似的事情。从我最近写的脚本中获取以下正则表达式:

$poMsgIdAndMsgStrRegex = '/^#\s*(.+?)\nmsgid "(.+?)"\nmsgstr "(.+?)"/m';

这只捕获最终评论行,但到目前为止它已适合我的目的。您可能需要对其进行调整。

无论如何,您可以将上述正则表达式与preg_match_all()一起使用,将所有MsgIdMsgStr字符串捕获到一系列匹配项中。一旦你有阵列,那么你可以把它放到你想要的任何格式。

可能有图书馆这样做,但我没见过。

编辑:您可能还想查看PHP类,以获取“可能重复”注释中引用的conversion.po文件.mo格式。听起来它不会解决您的问题(因为您想将.po文件转换为XML),但无论如何都值得研究。这对我帮助很大。