0

PHP バージョンの Pinterest Pin It ボタンを使用していますが、URL の「説明」部分で問題が発生しています...

URLを生成するために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 が 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).'';

これにより、-_.~ を除くすべての文字が URL エンコードされます (RFC 3986)

于 2012-06-26T02:29:17.787 に答える