当前位置: 首页 > 知识库问答 >
问题:

PHP-如何用阿拉伯语字符解析XML

安星汉
2023-03-14

我在PHP中面临一个解析问题。事实上,当我用法语解析谷歌建议结果时,我试图解析的网址是:

http://suggestqueries.google.com/complete/search?client=toolbar

我用以下代码解析它:

$file = 'http://suggestqueries.google.com/complete/search?client=toolbar&hl=fr&q=exemple';
$html" target="_blank">xml =simplexml_load_string(utf8_encode(file_get_contents(urldecode($file ))));
print_r($xml);

结果是好的。

当我用阿拉伯语做这件事时,我会替换lang和query。代码如下

$file = 'http://suggestqueries.google.com/complete/search?client=toolbar&hl=ar&q=من هو';
$xml =simplexml_load_string(utf8_encode(file_get_contents(urldecode($file ))));
print_r($xml);

url是正常的,但是当我解析它时会收到警告

警告:file_get_contents(http://suggestqueries.google.com/complete/search?client=toolbar

感谢shukshin解决了这个问题。伊万,但我现在面临一个显示问题。打印返回如下所示

SimpleXMLElement对象

这是错误的吗?页面的元字符集是utf8。当我对硬编码的xml文件执行相同的操作时,一切都正常。我还缺什么吗?

如果你是俄罗斯人,我对西里尔文字也有同样的问题

$file = 'http://suggestqueries.google.com/complete/search?client=toolbar&hl=ru&q=' . urlencode('Я');

谢啦

共有1个答案

陆昂然
2023-03-14

你不应该urldecode整个url。您应该urlencode(编码,而不是解码)字符串。下面的代码工作正常。

$file = 'http://suggestqueries.google.com/complete/search?client=toolbar&hl=ar&q=' . urlencode('من هو');
$xml =simplexml_load_string(utf8_encode(file_get_contents($file )));
print_r($xml);
 类似资料:
  • 我正在尝试使用最新的雅虎天气apihttps://weather-ydn-yql.media.yahoo.com/forecastrss它工作得很好,但当我设置语言(lang=ar AE)时,它返回带问号的json响应,而不是阿拉伯字符。例如“城市”:“城市”对于英语来说,这是可以的。 我没看到留档里有关于utf设置的东西 当我打开雅虎的天气页面https://www.yahoo.com/news

  • 问题内容: $test = json_encode(‘بسم الله’); echo $test; 作为此代码的结果,输出为:虽然它应该类似于“بسمالله”。阿拉伯字符是通过JSON编码而编码的,而在Youtube API上则不是这样:http : //gdata.youtube.com/feeds/api/videos/RqMxTnTZeNE?v=2&alt=json 您可以在YouTub

  • 问题内容: 我正在评估NLTK处理阿拉伯文本的能力,这项研究旨在分析和提取情感。 问题如下: NTLK是否可以处理并允许分析阿拉伯文本? python是否能够操纵\标记阿拉伯文本? 我可以使用Python解析和存储阿拉伯文本吗? 如果python和NTLK不是完成这项工作的工具,那么您会推荐哪些工具(如果存在)? 谢谢。 编辑 根据研究: NTLK仅能阻止阿拉伯文本:链接 Python支持UTF-

  • 问题内容: 有没有办法确定字符串是英语还是阿拉伯语? 问题答案: 这是我刚刚尝试过的简单逻辑: 当且仅当在文本中找到阿拉伯语unicode代码点时,它才将文本声明为阿拉伯语。您可以增强此逻辑,使其更适合您的需求。 范围0600-06E0是阿拉伯字符和符号的代码点范围(请参见Unicode表)

  • Adobe 亚洲语言书写器 借助 Adobe 亚洲语言书写器,您可以使用中东和南亚语言创建内容。您可以键入或混合键入阿拉伯语、希伯来语、英语和其他语言。 您可以在“段落”面板菜单(窗口 > 段落 > 面板菜单)中的可用书写器之间进行选择。例如,您可以使用中东和南亚语言单行书写器或中东和南亚语言逐行书写器。 有关 Illustrator 中支持的其他亚洲语言的更多信息,请参阅适用于亚洲语言文字的书写

  • 启用中东语言功能 若要在 Photoshop 界面中显示中东文字选项,请执行以下操作: 选取“编辑”>“首选项”>“文字”(Windows) 或“Photoshop”>“首选项”>“文字”(Mac OS)。 在“选取文本引擎选项”部分中,选取“中东”。 单击“确定”,并重新启动 Photoshop。 选取“文字”>“语言选项”>“中东语言功能”。 文本方向 要创建阿拉伯语和希伯来语内容,您可以将默