Php 阅读及;正在通过GET传递的字符
我正在阅读Php 阅读及;正在通过GET传递的字符,php,get,query-string,html-encode,Php,Get,Query String,Html Encode,我正在阅读GET查询字符串的内容,每次遇到&例如Blackstone Woodfire&Grill,GET正在阅读Blackstone Woodfire 如果可能的话,我如何避免这种情况 我知道我可以对参考页面中的特殊字符进行编码,然后在指向此页面时对其进行解码 我只是好奇。您可以使用urlencode对get字符串进行编码。稍后,如果您想从$获取它,请获取urldecode 您可以将所有与符号替换为%26问题在于,您使用get发送的参数使用&分隔。 所以如果你有一个像 http:/examp
GET
查询字符串的内容,每次遇到&
例如Blackstone Woodfire&Grill
,GET
正在阅读Blackstone Woodfire
如果可能的话,我如何避免这种情况
我知道我可以对参考页面中的特殊字符进行编码,然后在指向此页面时对其进行解码
我只是好奇。您可以使用urlencode对get字符串进行编码。稍后,如果您想从$获取它,请获取urldecode
您可以将所有与符号替换为%26问题在于,您使用get发送的参数使用&分隔。 所以如果你有一个像
http:/example.com?param_1=value_1¶m_2=value_2
您将有一个$\u GET数组,如
array(
param_1 => 'value_1',
param_2 => 'value_2'
);
array(
param_1 => 'value_1 ',
' value_2' => ''
);
现在,如果您发送和url如下:
http://example.com?param_1=value_1 & value_2
您将有一个$\u GET数组,如
array(
param_1 => 'value_1',
param_2 => 'value_2'
);
array(
param_1 => 'value_1 ',
' value_2' => ''
);
简单地说,这就是发送GET参数的方式。
在接受方面,你无能为力,问题就在另一端。
正在发送的GET参数确实必须在使用
echo 'http://example.com?param_1=' . urlencode('value_1 & value_2');
Javascript使用encodeURIComponent()解决此问题。
PHP在创建$\u get global时,会自动对每个get参数调用urldecode()。您不需要对其进行解码,这应该自动完成。你能做一个
var\u dump
的$\u GET
吗?你是如何读取querystrig的?您使用的确切输入和确切代码是什么?鉴于&
是分隔符字符,由于它用作分隔符而被省略,如果要“读取”&
符号,则应将其编码为&如果我没有弄错的话,Flosculus,我知道PHP会将其作为单独的GET变量来读取。