http_build_query 不转义
时间: 2023-07-30 18:10:15 浏览: 47
如果您想在使用`http_build_query`函数时不转义查询参数,可以使用第二个可选参数`$numeric_prefix`。将此参数设置为`NULL`或`""`将禁用任何数字前缀,从而防止`http_build_query`对查询参数进行编码。例如:
```
$params = array(
'name' => 'John Doe',
'email' => 'john.doe@example.com',
'age' => 30
);
$queryString = http_build_query($params, '', '&', PHP_QUERY_RFC3986);
echo $queryString;
```
在上面的示例中,我们将第二个参数设置为空字符串,以便禁用数字前缀。使用第四个参数`PHP_QUERY_RFC3986`将确保对所有查询参数进行RFC 3986编码,但不会编码字符。
请注意,禁用查询参数编码可能会导致一些潜在的安全风险,因为攻击者可能会将恶意代码注入到未经编码的查询参数中。因此,应该谨慎地使用此方法,并确保您对所有输入数据进行适当的过滤和验证。
相关问题
我需要http_build_query将全部的字符都转义
可以使用 PHP 中的 urlencode 函数对每个参数的值进行转义,然后再使用 http_build_query 函数进行拼接,示例代码如下:
```
$params = array(
'param1' => 'value1',
'param2' => 'value2%&',
'param3' => 'value3',
);
// 对每个参数的值进行转义
foreach ($params as $key => $value) {
$params[$key] = urlencode($value);
}
// 使用 http_build_query 函数进行拼接
$queryString = http_build_query($params);
echo $queryString;
```
输出结果为:`param1=value1¶m2=value2%25%26¶m3=value3`,其中 `%25` 表示 `%` 的转义,`%26` 表示 `&` 的转义。
json_encode 中文不转义
可以通过设置 JSON_UNESCAPED_UNICODE 来实现不转义中文,示例如下:
```php
$data = array('name' => '张三', 'age' => 18);
echo json_encode($data, JSON_UNESCAPED_UNICODE);
```
输出结果为:
```
{"name":"张三","age":18}
```
其中,JSON_UNESCAPED_UNICODE 是一个常量,表示不转义中文。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)