我正在使用PHP版本的Pinterest Pin It按钮,我遇到了网址“描述”部分的问题...
我正在使用php生成网址:
$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不会从网址中读取它,因为它看起来像:
http://pinterest.com/pin/create/button/?url=http://foo.com&media=http://foo.com/foo.jpg&description=#foo
很明显,#foo没有被读作描述......
我想知道是否有某种工作或是否可以使用“if”语句来运行我的$ pindesc变量来检查和替换带有“url friendly”的“%23”的主题标签
谢谢!
答案 0 :(得分:3)
您可以使用urlencode
转换脚本中任何棘手的字符:
$pindesc = urlencode('my description with #hashtag');
答案 1 :(得分:1)
使用rawurlencode:
$pin = 'http://pinterest.com/pin/create/button/?url='.rawurlencode($pinurl).'&media='.rawurlencode$pinmedia).'&description='.rawurlencode($pindesc).'';
这将对除-_。〜(RFC 3986)
以外的所有字符进行URL编码