使用php在javascript中为mailto编码字符?
我正在使用使用php在javascript中为mailto编码字符?,php,javascript,quotes,mailto,Php,Javascript,Quotes,Mailto,我正在使用window.location.href='mailto:?body=visit' 这很好,但是链接的构建方式是window.location.href='mailto:?body=' 现在,除非$content包含'或类似的内容,从而破坏了代码,否则这种方法可以正常工作 我怎样才能做到这一点呢?您可能想使用,它会转义引号。您可能想使用,它会转义引号。使用rawurlencode函数[]对输入中URL中无效的任何字符进行编码 <?php $content = "Hello, th
window.location.href='mailto:?body=visit'代码>
这很好,但是链接的构建方式是window.location.href='mailto:?body='代码>
现在,除非$content
包含'
或类似的内容,从而破坏了代码,否则这种方法可以正常工作
我怎样才能做到这一点呢?您可能想使用,它会转义引号。您可能想使用,它会转义引号。使用rawurlencode
函数[]对输入中URL中无效的任何字符进行编码
<?php $content = "Hello, this' an...\n\nexample!"; ?>
window.location.href = "mailto:?body=<?php echo rawurlencode($content); ?>";
确实,当您将某些内容放入带引号的字符串中时,通常希望使用addslashes
[]。在这种情况下,它将无效,因为rawurlencode
的输出没有任何需要用斜杠转义的字符。使用rawurlencode
函数[]对输入中URL中无效的任何字符进行编码
<?php $content = "Hello, this' an...\n\nexample!"; ?>
window.location.href = "mailto:?body=<?php echo rawurlencode($content); ?>";
确实,当您将某些内容放入带引号的字符串中时,通常希望使用addslashes
[]。在这种情况下,它将无效,因为rawurlencode
的输出没有任何需要用斜杠转义的字符。使用:
window.location.href='mailto:?body=';
使用:
window.location.href='mailto:?body=';
window.location.href = 'mailto:?body=<?php echo rawurlencode($content); ?>';