Php $\u是否获取带有URL敏感符号的变量?(如搜索)

Php $\u是否获取带有URL敏感符号的变量?(如搜索),php,url,search,get,Php,Url,Search,Get,我意识到我的搜索有一个相当明显的问题,但不知道如何解决它。假设有人搜索“Hello there”,当然会在URL中出现类似于?s=Hello+there的内容 然而,我该如何处理人们搜索“你好&诸如此类”之类的东西?浏览器会将第二个查询读取为?s=Hello+&+这样它会在“Hello”处停止搜索变量。我对英镑符号也有同样的问题。如果有人搜索带有英镑符号的东西,它会被添加,就好像它是一个URL片段,而不是搜索查询的一部分 我似乎找不到如何处理这个问题的信息,有人能帮我一下吗?这就是编码和转义的作

我意识到我的搜索有一个相当明显的问题,但不知道如何解决它。假设有人搜索“Hello there”,当然会在URL中出现类似于?s=Hello+there的内容

然而,我该如何处理人们搜索“你好&诸如此类”之类的东西?浏览器会将第二个查询读取为?s=Hello+&+这样它会在“Hello”处停止搜索变量。我对英镑符号也有同样的问题。如果有人搜索带有英镑符号的东西,它会被添加,就好像它是一个URL片段,而不是搜索查询的一部分


我似乎找不到如何处理这个问题的信息,有人能帮我一下吗?

这就是编码和转义的作用。有关php,请参阅

但是,由于您的问题的性质,我认为您更喜欢js函数:


这就是编码和转义的作用所在。有关php,请参阅

但是,由于您的问题的性质,我认为您更喜欢js函数:


搜索
&
不会中断您的搜索。如果使用GET表单进行搜索,则
&
将自动更改为
%26
。其他符号也一样


使用PHP的
urlencode()
手动转义或JS的简单查找/替换(或一些在线旋转的函数)应该可以解决问题。

搜索
&
不会中断搜索。如果使用GET表单进行搜索,则
&
将自动更改为
%26
。其他符号也一样


使用PHP的
urlencode()
或JS的简单查找/替换(或一些在线旋转的函数)手动转义应该可以解决问题。

用于输出URL参数。这就是浏览器对表单字段所做的。用于输出URL参数。这就是浏览器对表单字段所做的。我同意他需要在javascript端而不是服务器端这样做。不一定。使用一个带有<代码> action =“GET”< /C> >的窗体将自动执行此操作,否则在服务器端或客户端之间没有真正的区别,但您也应该考虑如果用户使用Chrome的开发工具更改源代码,会发生什么情况,例如,或者干脆禁用JS?@OhMrBigshot浏览器在提交表单时负责编码。但是因为op遇到了一个问题,我假设这是因为他的JS。那么现在这就解决了他的问题,但这是一个糟糕的做法。安全性永远不应该由客户来处理,也许只是enhanced@OhMrBigshot我认为问题不在于安全。。。服务器端验证和正确的数据传输是两件不同的事情。我同意他需要在javascript端进行验证,而不是在服务器端。不一定。使用一个带有<代码> action =“GET”< /C> >的窗体将自动执行此操作,否则在服务器端或客户端之间没有真正的区别,但您也应该考虑如果用户使用Chrome的开发工具更改源代码,会发生什么情况,例如,或者干脆禁用JS?@OhMrBigshot浏览器在提交表单时负责编码。但是因为op遇到了一个问题,我假设这是因为他的JS。那么现在这就解决了他的问题,但这是一个糟糕的做法。安全性永远不应该由客户来处理,也许只是enhanced@OhMrBigshot我认为问题不在于安全。。。服务器端验证和正确的数据传输是两件不同的事情。