在Wordpress中的PHP问题中编码URL

时间:2014-07-03 01:48:50

标签: php wordpress urlencode

我认为这是一件容易的事情,但在我尝试找到解决方案差不多一小时之前。

<a href="http://www.tumblr.com/share/quote?quote=<?php echo urlencode(the_permalink()) ?>&source=<?php echo urlencode(get_the_title()) ?>" title="Share On Tumblr">

结果尚未编码url:

http://www.tumblr.com/share/quote?quote=http://localhost/wp/how-to-make-cheat/&source=how to make a cheat

因为它失败了所以我尝试了这样的代码:

<?php
$linksf = the_permalink();
echo $linksf;
$linksf = urlencode($linksf);
echo $linksf;
$linksf = urlencode('http://localhost/wp/how-to-make-cheat/');
echo $linksf;
?>

结果是:

> http://localhost/wp/how-to-make-cheat/
> http://localhost/wp/how-to-make-cheat/
> http%3A%2F%2Flocalhost%2Fwp%2Fhow-to-make-cheat%2F

我想要这样的结果:

http://www.tumblr.com/share/quote?quote=http%3A%2F%2Flocalhost%2Fwp%2Fhow-to-make-cheat%2F&source=how+to+make+a+cheat

3 个答案:

答案 0 :(得分:0)

function the_permalink() {
    return 'http://localhost/wp/how-to-make-cheat/&source=how to make a cheat';
}

echo urlencode(the_permalink());

结果是

http%3A%2F%2Flocalhost%2Fwp%2Fhow-to-make-cheat%2F%26source%3Dhow+to+make+a+cheat

我不知道你为什么得到不同的结果。你可以在这里测试php代码:http://writecodeonline.com/php/

答案 1 :(得分:0)

您应该使用get_permalink()代替。 the_permalink()将回显变量,而不是返回它。

$linksf = urlencode( get_permalink() );
echo $linksf;

答案 2 :(得分:-1)

您可以发布此代码的结果吗?

<?php var_dump(the_permalink()); ?>

当我使用返回

的函数测试代码时,我和Phoenix有同样的事情
http://localhost/wp/how-to-make-cheat/&source=how to make a cheat

var_dump()将准确地给出the_permalink()函数返回的内容^^