Я буду загружать заголовки статей в строки, и авторы этих заголовков могут использовать или не использовать как одинарные, так и двойные кавычки. Чтобы использовать этот импортированный текст в переменной, как я могу предотвратить нарушение кода, поскольку я не смогу сам экранировать символы?

0
Ghost9 20 Дек 2011 в 12:10

4 ответа

Экранирование кавычек имеет значение только в том случае, если вы помещаете его в строковый литерал (или, конечно, в базу данных). Просто наличие строки не требует их экранирования.

4
Ignacio Vazquez-Abrams 20 Дек 2011 в 12:13

Вы можете смело использовать любые кавычки в своих переменных - ограничений на этот счет нет.

Однако вам следует подумать об экранировании символов в зависимости от контекста, в котором вы собираетесь использовать эти переменные. Например, если вы хотите отобразить какие-то данные на терминале - экранирование не требуется, а если вы показываете те же самые данные внутри веб-страницы, вам придется об этом позаботиться.

Для отображения символов в веб-контексте следует использовать htmlentities().

Для использования данных для создания URL вам будет полезен urlencode(). Также может помочь http_build_query().

1
Nikola Petkanski 20 Дек 2011 в 12:21

Вы можете использовать htmlentities().

См. полную документацию здесь

0
ppp 20 Дек 2011 в 12:18

Вы можете использовать предопределенную строковую функцию addlashes(). Пожалуйста, перейдите по этой ссылке для получения дополнительной информации http://php.net/addslashes

0
mario 20 Дек 2011 в 12:39