7

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

4

2 回答 2

2

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

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

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

无论如何,您可以使用上面的正则表达式preg_match_all()将所有字符串捕获MsgIdMsgStr匹配数组中。一旦你有了数组,你就可以把它变成你想要的任何格式。

可能有这样做的图书馆,但我没有看到任何图书馆。

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

于 2011-12-08T16:03:34.980 回答