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.

Другие вопросы по тегам