0

我正在使用 PHP 版本的 Pinterest Pin It 按钮,但我遇到了 url 的“描述”部分的问题......

我正在使用 php 生成 url:

$pinurl = 'http://foo.com';
$pinmedia = 'http://foo.com/picture.jpg';
$pindesc = 'my description with #hashtag';

$pin = 'http://pinterest.com/pin/create/button/?url='.$pinurl.'&media='.$pinmedia.'&description='.$pindesc.'';

echo '<a href="'.$pin.'" class="pin-it-button" count-layout="none" target="_blank">Pin It!</a>';

我遇到的问题是当我的 $pindesc 变量中有一个标签或只有一个标签时,Pinterest 不会从 url 读取它,因为它看起来像:

http://pinterest.com/pin/create/button/?url=http://foo.com&media=http://foo.com/foo.jpg&description=#foo

所以很明显#foo 没有被解读为描述......

我想知道是否有某种解决方法,或者我是否可以使用“if”语句来运行我的 $pindesc 变量来检查主题标签并将其替换为“url 友好”的“%23”

谢谢!

4

2 回答 2

3

您可以使用它urlencode来转换脚本中的任何棘手字符:

$pindesc = urlencode('my description with #hashtag');
于 2012-06-26T02:26:15.807 回答
3

使用rawurlencode

$pin = 'http://pinterest.com/pin/create/button/?url='.rawurlencode($pinurl).'&media='.rawurlencode$pinmedia).'&description='.rawurlencode($pindesc).'';

This will URL encode all characters except for -_.~ (RFC 3986)

于 2012-06-26T02:29:17.787 回答