2011-09-14 5 views
1

私は$content'またはコードを破ると同様のものを含まない限り、今、これが正常に動作し正常に動作しますが、リンクが構築されている方法はwindow.location.href = 'mailto:?body=<?php echo $content; ?>';phpを使ってjavascriptのmailtoの文字をエンコードしますか?

あるwindow.location.href = 'mailto:?body=visit http://example.com/?content=link ';

を使用しています。

どうすればこの作品を作成できますか?

答えて

4

rawurlencodeファンクション[]を入力して、URLで無効な文字をエンコードします。

<?php $content = "Hello, this' an...\n\nexample!"; ?> 
window.location.href = "mailto:?body=<?php echo rawurlencode($content); ?>"; 
出力:
window.location.href = "mailto:?body=Hello%2C%20this%27%20an...%0A%0Aexample%21"; 

それはあなたが通常使用したいと思うことは事実であるaddslashes[php docs]あなたが引用符で囲まれた文字列の中で何かを入れています。この場合、rawurlencodeの出力にはスラッシュでエスケープする必要のある文字がないため、効果はありません。

0

addslashesを使用して引用符をエスケープすると便利です。

0

使用rawurlencode()

window.location.href = 'mailto:?body=<?php echo rawurlencode($content); ?>'; 
関連する問題