Как мне избежать только одинарные кавычки? - PullRequest
62 голосов
/ 07 июня 2011

Я пишу некоторый код JavaScript, который использует строку, отображаемую с помощью PHP. Как я могу избежать одинарных кавычек (и только одинарных кавычек) в моей строке PHP?

<script type="text/javascript">
    $('#myElement').html('say hello to <?php echo $mystringWithSingleQuotes ?>');
</script>

Ответы [ 11 ]

0 голосов
/ 12 февраля 2013

Я не уверен, что именно вы делаете со своими данными, но вы всегда можете попробовать:

$string = str_replace("'", "%27", $string);

Я использую это всякий раз, когда строки отправляются в базу данных для хранения.

% 27 - это кодировка символа ', и она также помогает предотвратить нарушение запросов GET, если в строке, отправленной на ваш сервер, содержится один символ '.Я бы заменил '% 27 на JavaScript и PHP на тот случай, если кто-то попытается вручную отправить некоторые данные в вашу функцию PHP.

Чтобы сделать это более привлекательным для вашего конечного пользователя, просто запустите функцию обратной замены для всехданные, которые вы возвращаете со своего сервера и заменяете все подстроки% 27 на '.

Счастливого внедрения не будет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...