在php中使用Android strings.xml文件

时间:2018-11-02 16:48:15

标签: php xml-parsing

我希望将自己的网站设置为使用与我的android应用完全相同的xml文件进行语言翻译。到目前为止,我可以使用simplexml_load_file()来加载字符串。但这仅适用于简单文本,任何具有任何格式的字符串都应删除格式字符串。

例如,使用以下两行:

<string name="basicPlan">Basic Plan</string>
<string name="basicPlanDetails">
    Our Basic Plan starts at
    <xliff:g name="price" example="5.99">%1$d</xliff:g>
    per month.
</string>

我可以很好地打印basicPlan,但是当我尝试basicPlanDetails时,这里的文字在那里,除了缺少整个部分: <xliff:g name="price" example="5.99">%1$d</xliff:g> 因此它只显示“我们的基本计划从每月开始”

如果我可以只保留%1$d部分,那么我可以使用sprintf()从那里格式化它,但是似乎simplexml_load_file()删除了<xliff:g>标签及其所有内容。 有什么方法可以在保留字符串格式的同时加载xml文件?

编辑:找到了一个临时解决方法,我只是使用以下代码将这些标签从字符串文件中剥离:

strip_tags(file_get_contents("strings.xml"),"<xml><resources><string><item><plurals><string-array><array>");

然后我将其保存回自身。这样可以保留%1$d,因此我可以使用sprintf(),虽然不可怕,但是它仍然不是同一个xml文件。

0 个答案:

没有答案