我使用 ajax 和 php 来输出超链接,使用户能够通过电子邮件发送一些文本。链接指向一个邮件脚本,查询字符串包含要发送的文本。通过单击链接,用户将文本发送出去。但是,如果文本(也是用户创建的)包含引号,则此引号会出现在查询字符串中并破坏代码。具体来说,浏览器在遇到引号时认为查询字符串结束。引用后的文本溢出到页面上。我可以将超链接括在撇号而不是引号中,但是如果用户在文本中包含撇号,我也会遇到同样的问题。
我曾尝试使用 json_encode 转义这些特殊字符,但这没有用。我知道有 addlashes 或者我可以用 str_replace 破解一些东西,但我想以正确的方式做到这一点。
感谢您提供有关正确方法的任何建议。
php
go to dbase
$text = $row['text'];
echo '<a href="sendmail.php?text='.$text.'">email text</a>';
/*
say for sake of argument text is 'the dimensions of the painting are 24" x 36"'
then above link is
echo '<a href="sendmail.php?text=the dimensions of the painting are 24" x 36"">email text</a>';
which breaks code
*/