以下是正在发生的事情以及每个(期望的行为)的结果:
echo urlencode('q&a'); // q%26a
echo str_replace('&', '%26', 'q%26a');
但是当我用 wordpress 尝试这个时,它会中断:
$title = strtolower(str_replace(' ', '-', get_the_title()));
echo urlencode($title); // q%26%23038%3Ba
echo str_replace('&', '%26', $title); // q%26#038;a
如果我只回显它的标题,q&a
但这最终会出现在查询字符串中,所以我试图逃避&符号。任何人都知道发生了什么/如何解决这个问题?
编辑
我最近注意到 a var_dump
of$title
吐出string(8) "q&a"
没有意义,因为q&a
只有 3 个字符。这有什么帮助吗?