简体   繁体   English

如何在PHP中重用查询字符串的转义值?

[英]How can I reuse the escaped value of a query string in PHP?

I'd like to reuse a multiple-term search query with + for escaping spaces. 我想重复使用带+的长期搜索查询来转义空格。

$_SERVER['QUERY_STRING'] results in $ _SERVER ['QUERY_STRING']的结果

q=my+search+term 

while $_GET['q'] results in 而$ _GET ['q']结果

my search term

How can I get 我怎样才能得到

my+search+term

does it have to be regex? 必须是正则表达式吗?

urlencode($_GET['q']);

No, you can use str_replace : 不,您可以使用str_replace

$str = str_replace(' ', '+', $str);

but if there are more special characters, urlencode is the better choice: 但是如果有更多特殊字符,则urlencode是更好的选择:

$str = urlencode($str);
$q = str_replace(' ', '+', $_GET['q'])

要么

$q = urlencode($_GET['q']);

$clean = urldecode($_SERVER['QUERY_STRING']); $ clean = urldecode($ _ SERVER ['QUERY_STRING']);

http://www.php.net/manual/fr/function.urldecode.php http://www.php.net/manual/fr/function.urldecode.php

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM