gpt4 book ai didi

php - zf2 是否有 urlencode 的别名?

转载 作者:搜寻专家 更新时间:2023-10-31 21:32:46 25 4
gpt4 key购买 nike

zf2 是否有 urlencode 的别名?

在 zf2 中,如果我想做一个 rawurlencode,我使用:

$escaper = new Zend\Escaper\Escaper();
echo $escaper->escapeUrl('hello world');

哪些输出:

hello%20world

但是,我将如何调用 urlencode?期望的输出是:

hello+world

如果简短的回答是我只需要直接调用 urlencode,那就这样吧。

最佳答案

简短的回答是否定的。 native rawurlencode() 函数根据 RFC 3986 生成输出然而 urlencode() 不是。这是在 escapeUrl() 方法中使用 rawurlencode 的主要动机。我认为在这种情况下您有两种选择;

A.您可以尝试扩展原生 Escaper 并覆盖 escapeUrl() 方法:

namespace My\Escaper;

use Zend\Escaper\Escaper as BaseEscaper;

class Escaper extends BaseEscaper
{
/**
* {@inheritDoc}
*/
public function escapeUrl($string)
{
return urlencode($string);
}
}

B. 您可以简单地使用 urlencode() 就像 @cheery 在评论中所说的那样,它是一个原生函数。 (我个人认为这是最简单的解决方案)

更新:

您可能还想 read this answer关于 deep 中 urlencode 和 rawurlencode 的区别。

关于php - zf2 是否有 urlencode 的别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27220340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com