在网址中将'+'替换为'%2B'

时间:2012-06-29 09:32:01

标签: php wordpress

我在我的网站上使用以下代码来显示由TimThumb脚本生成的缩略图:

<img src="timthumb.php?src=<?php echo $image_url[0]; ?>&h=100&w=150" />

除非图片网址包含“+”,否则它可以正常工作。我认为它将'+'看作一个空间。有没有一种简单的方法可以用'%2B'替换'+'符号?我不是编码器抱歉,但我想它会像'str_replace'一样?

2 个答案:

答案 0 :(得分:4)

不,这将是urlencode()

答案 1 :(得分:1)

正如Ignacio所说,你可以使用urlencode,但让http_build_query为你处理它通常更容易:

<img src="timthumb.php?<?php echo htmlspecialchars(http_build_query(array(
    'src' => $image_url[0],
    'h' => 100,
    'w' => 150,
))); ?>">

在这种情况下,urlencode更短更清晰,但是,我发现http_build_query倾向于更好地概括(特别是当参数数量不固定时)。