“&”被"&在PHP中包括

时间:2017-07-12 22:53:30

标签: php regex url hyperlink

我有一个php页面,可以从另一个页面获得响应,如下所示:

while($response!=200)
{
$response = include 'xyz.php?one='.$one.'&two='.$two.'&three='.$three.'';
}

但是我的链接总是像:

domainname.com/xyz.php?one=content&two=content&three=content

由于&&取代,我收到的网页未找到问题。

我已尝试使用%26并直接将&代替&,但都徒劳无功。

除了使用PHP的字符串替换功能删除&并将其替换为&

之外,还有其他简单的解决方案吗?

3 个答案:

答案 0 :(得分:0)

查看html_entity_decode

$response = html_entity_decode($response)

答案 1 :(得分:0)

我根据您发送的代码进行了测试,但我没有遇到任何问题。这表明你的* .ini文件中有一些自动神奇的东西(魔术引号,也许......呃......)。尝试将字符串简单地创建为一个变量,将其从文件名上下文中删除,并将其回显以确定它是正确的,然后将变量与include一起使用。

$one = 'abc';
$two = 'def';
$three = "ghi";
$file= 'xyz.php?one='.$one.'&two='.$two.'&three='.$three;
echo "\n\n".$file;
$response = include $file;

答案 2 :(得分:0)

访问本地文件时无法使用URL参数,他们必须通过网络服务器。尝试:

$response = file_get_contents("http://localhost/path/to/xyz.php?one='.$one.'&two='.$two.'&three='.$three);