多语言支持xml文本搜索php

时间:2015-09-18 13:14:05

标签: php xml

我有一个xml文件,可以使用任何语言(芬兰语,意大利语,瑞典语,荷兰语)我使用标题保存了xml

<?xml version="1.0" encoding="ISO-8859-1"?>

保存的xml包含特殊字符和一些html代码

&#8271; for single code etc.

现在我想使用此xml作为源提供搜索文本功能,如下所示

$xml->xpath("//page[data[contains(., '".strtoupper($string)."')]]")

当我尝试将$ search_text作为变量提供时,从PHP开始,它不匹配这些&#8271;并产生错误 例如单词 nell'Esercizio 在xml中为nell&#8217;Esercizio,因此我的搜索结果为xpath为空。

我尝试了htmlentities和htmlspecialchars但没有运气。对于特殊字符,我尝试了utf8_encode(),utf8_decode()组合并且它有效(对于芬兰语)但是对于这些html字符,它失败了。

通过php应用程序在diff语言的xml文件中搜索文本的正确方法应该是什么?

1 个答案:

答案 0 :(得分:0)

Xpath表达式必须是UTF-8,文档的编码不相关。 DOM使用UTF-8并在加载/保存时转换。我认为你的问题是strtoupper()。您需要使用unicode save transliterations。