#どうも7noteです。パラメータ付きのURLをシェアする方法をPHPとJavascriptでできる方法
URLをシェアする際にパラメータがついているURLだとうまくシェアできない場合があります。
そのような場合には、
「パラメータ部分をエンコーディングする必要があります。」
javascriptでエンコーディングする方法と、phpでエンコーディングする2つの方法があるので両方解説していきます。
javascriptでエンコーディングしてシェアする方法
すでにQiitaで投稿されたものがあったので以下を参照ください。
丁寧にわかりやすく書かれていますよ。
PHPでエンコーディングしてシェアする方法
index.php
<?php
// 現在のurlとパラメータを取得
$url = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://').$_SERVER['HTTP_HOST'];
$param = $_SERVER['REQUEST_URI'];
// パラメータをエンコーディング
$param = urlencode($param);
// urlとパラメータを接続
$href = $url.$param
?>
<!-- ツイッターのシェア -->
<a href="https://twitter.com/share?url=<?php echo $href; ?>" rel="nofollow" target="_blank"><img src="twitter.png" alt="twitterシェア" ></a>
まとめ
URLシェアボタンを動的に作成する場合にも利用できます。
シェアボタンを作るときに陥りやすいトラップかなと思います。
誰かの参考になれば幸いですね。
おそまつ!
~ Qiitaで毎日投稿中!! ~
【初心者向け】WEB制作のちょいテク詰め合わせ