

ツイッターボタンを独自のものにする場合、URLパラメータに説明文を入れると思います。しかし、その説明文に`htmlspecialchars`に相当する'&','/'といった文字が含まれていると正しくツイート画面に出すことが出来ません。

[code]

    <button onclick=
    "window.open(encodeURI(decodeURI('http://twitter.com/share?text=作成されたデータは「ああああ%26ううう %2F あああああああ」です。&url=http://127.0.0.1/aaaaa/aaa')),'window','width=650,height=470,personalbar=0,toolbar=0,scrollbars=1,sizable=1');"
    class="btntwitter snsbuttons" >
        <div class="sns_button"><i class="fa fa-twitter fa-2x"></i><strong>ツイート</strong></div>
    </button>
    
[/code]

実際には、上記コード中のURLは動的に生成しています。  
当然ですがURL用に'&','%'をエンコードしない場合は途中でツイート文が切れてしまいます。  
何か他に良いパラメータの渡し方があれば教えてください。

[![こんな風になってしまいます](https://i.stack.imgur.com/gRTMg.png)](https://i.stack.imgur.com/gRTMg.png)


CC BY-SA 3.0
2016-04-17T13:02:49.557
24097
2016-04-17T14:04:17.653
7966
question
javascript php html twitter
ツイッターボタン設置時にをデザインを独自のものにする場合に説明文を正しくツイートできない


[`encodeURIComponent`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent)で必要な部分だけ処理してはどうでしょうか。

[code]

    # (未検証)
    var url = 'https://twitter.com/intent/tweet?text=' +
        encodeURIComponent('あいう/えお&かき') +
        '&url=' +
        encodeURIComponent('https://www.example.com/aaaaa/aaa');
    
[/code]


CC BY-SA 3.0
2016-04-17T13:58:58.907
24099
2016-04-17T14:04:17.653
2016-04-17T14:04:17.653
3054
3054
24097
answer