php/javascript Лучший способ избежать кавычек в строке запроса
Я использую 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
*/
1 ответ
urlencode
следует использовать, так как вы кодируете текст, чтобы поместить его в URL.