1

我使用 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
*/
4

1 回答 1

2

urlencode应该使用,因为您正在对文本进行编码以将其放入 URL。

于 2012-12-26T14:39:00.733 回答