沃梦达 / 编程问答 / php问题 / 正文

solr的url中带有&(与号)的simplexml_load_file

simplexml_load_file with amp; (ampersand) in url with Solr(solr的url中带有amp;(与号)的simplexml_load_file)

本文介绍了solr的url中带有&(与号)的simplexml_load_file的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是Solr,以下查询在我的浏览器中运行良好:

 http://www.someipaddress.com:8983/solr/select?q=*&fq=shopid:40&start=0&rows=18&fq=manufacturer:"Bausch+%26+Lomb"

在返回XML的一部分中我看到:

<str>manufacturer:"Bausch & Lomb"</str>

但是,当我尝试使用simplexml_load_file获取上述url时,如下所示:

$xml = simplexml_load_file("http://127.0.0.1:8983/solr/select?q=*&fq=shopid:40&start=0&rows=18&fq=manufacturer:"Bausch+%26+Lomb"");

我没有得到任何结果,因为向Solr传递的制造商字符串(来自print_r)如下所示:

[str] => Array ( [0] => shopid:40 [1] => manufacturer:"Bausch+%26+Lomb" )
因此,当我通过浏览器执行查询时,我传入了%26,但它在查询中正确地处理了它。但是当我使用simplexml_load_file时,它仍然是%26,因此查询失败。

推荐答案

尝试: simplexml_load_file(rawurlencode('http://127.0.0.1:8983/solr/select?q=*&fq=shopid:40&start=0&rows=18&fq=manufacturer:"Bausch' .urlencode('&'). 'Lomb"'))

参见file参数说明:http://php.net/manual/en/function.simplexml-load-file.php

这篇关于solr的url中带有&amp;(与号)的simplexml_load_file的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:solr的url中带有&amp;(与号)的simplexml_load_file

基础教程推荐