cubrid_real_escape_string
Функция возвращает экранированную версию переданной строки. Она экранирует символы: ‘ . В целом, одинарная кавычка используется для обёртывания символьной строки. Также можно использовать двойные кавычки, в зависимости от значения ansi_quotes. Если ansi_quotes установлен в «no», то строка обёрнутая в двойные кавычки будет рассматриваться как строка символов, а не как идентификатор. Значение по умолчанию — «yes». Если вы хотите использовать одинарную кавычку как часть строки — поставьте две одинарные кавычки подряд.
Список параметров
Строка, которую необходимо экранировать
Идентификатор соединения CUBRID. Если не задано, то будет использован последнее соединение, возвращённое cubrid_connect() .
Возвращаемые значения
false в случае возникновения ошибки.
Примеры
Пример #1 Пример использования cubrid_real_escape_string()
$conn = cubrid_connect ( «localhost» , 33000 , «demodb» );
?php
$unescaped_str = ‘ !»#$%&\'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz<|>~’ ;
$escaped_str = cubrid_real_escape_string ( $unescaped_str );
$len = strlen ( $unescaped_str );
@ cubrid_execute ( $conn , «DROP TABLE cubrid_test» );
cubrid_execute ( $conn , «CREATE TABLE cubrid_test (t char( $len ))» );
cubrid_execute ( $conn , «INSERT INTO cubrid_test (t) VALUES(‘ $escaped_str ‘)» );
$req = cubrid_execute ( $conn , «SELECT * FROM cubrid_test» );
$row = cubrid_fetch_assoc ( $req );
cubrid_close_request ( $req );
cubrid_disconnect ( $conn );
?>
Результат выполнения приведённого примера:
array(1) < ["t"]=>string(95) " !"#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz<|>~" >
User Contributed Notes
There are no user contributed notes for this page.
- Функции совместимости CUBRID MySQL
- cubrid_affected_rows
- cubrid_client_encoding
- cubrid_close
- cubrid_data_seek
- cubrid_db_name
- cubrid_errno
- cubrid_error
- cubrid_fetch_array
- cubrid_fetch_assoc
- cubrid_fetch_field
- cubrid_fetch_lengths
- cubrid_fetch_object
- cubrid_fetch_row
- cubrid_field_flags
- cubrid_field_len
- cubrid_field_name
- cubrid_field_seek
- cubrid_field_table
- cubrid_field_type
- cubrid_list_dbs
- cubrid_num_fields
- cubrid_ping
- cubrid_query
- cubrid_real_escape_string
- cubrid_result
- cubrid_unbuffered_query
- Copyright © 2001-2024 The PHP Group
- My PHP.net
- Contact
- Other PHP.net sites
- Privacy policy
Экранирование кавычек (htmlspecialchars)
Здравствуйте! Хочу задать заезженный вопрос касаемый экранирования спецсимволов. При добавлении в базу применяю функцию htmlspecialchars(). При выводе в
Текст текст «текст» , кавычки отображаются нормально, а вот в meta title Текст текст "текст" . Как сделать чтобы кавычки в TITLE отображались нормально и как грамотно реализовать данную задачу?Отслеживать
задан 20 мар 2014 в 23:43
308 1 1 золотой знак 5 5 серебряных знаков 20 20 бронзовых знаков1 ответ 1
Сортировка: Сброс на вариант по умолчанию
htmlspecialchars() нужно выполнять не при добавлении в базу, а непосредственно при выводе на страницу (при подстановке в HTML-шаблон). При добавлении в базу данных нужно использовать функцию экранирования кавычек, которая перед кавычками добавляет обратный слэш («\»). Это может делать, например, mysqli_escape_string() . Экранирование кавычек при добавлении в БД нужно только для корректного сохранения, при сохранении бэкслэши уберутся и в базе будет храниться исходный вариант (без бэкслэшей). В базе данных желательно хранить текстовые значения в оригинальном виде. Если хранить их заранее обработанные htmlspecialchars() , то могут возникнуть трудности с поиском и выводом этих записей не в HTML (например, в JSON или в консоль). Поэтому при сохранении в базу текстовой строки (при подстановке её в SQL-запрос) используешь mysqli_escape_string() (на крайняк addslashes() ). При выводе в HTML оборачиваешь переменную с текстовым значением в htmlspecialchars() . Причём, в htmlspecialchars() надо оборачивать любые текстовые строки, которые не являются HTML-форматированными, вне зависимости берутся они из базы или нет.
Отслеживать
ответ дан 21 мар 2014 в 4:28
105 1 1 серебряный знак 9 9 бронзовых знаков- php
- htmlspecialchars
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.26.3951
quotemeta
Возвращает модифицированную строку, в которой перед каждым символом из следующего списка:
вставлен обратный слеш ( \ ).
Список параметров
Возвращаемые значения
Возвращает экранированную строку или false , если в качестве параметра string была указана пустая строка.
Примеры
Пример #1 Пример использования quotemeta()
var_dump ( quotemeta ( ‘PHP is a popular scripting language. Fast, flexible, and pragmatic.’ ));
?>Результат выполнения приведённого примера:
string(69) "PHP is a popular scripting language\. Fast, flexible, and pragmatic\."
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.
Смотрите также
- addslashes() — Экранирует строку с помощью слешей
- addcslashes() — Экранирует строку слешами в стиле языка C
- htmlentities() — Преобразовывает все возможные символы в соответствующие HTML-сущности
- htmlspecialchars() — Преобразовывает специальные символы в HTML-сущности
- nl2br() — Вставляет HTML-код разрыва строки перед каждым переводом строки
- stripslashes() — Удаляет экранирование символов
- stripcslashes() — Удаляет экранирование символов, произведённое функцией addcslashes
- preg_quote() — Экранирует символы в регулярных выражениях
User Contributed Notes 3 notes
14 years ago
$str = «Hello world. (can you hear me?)» ;
echo quotemeta ( $str );
?>The output of the code above will be:
Hello world\. \(can you hear me\?\)?php17 years ago
Took me a while to realize this was NOT the command I wanted for escaping potentially harmful characters in a string that would be used as part of a system command. Instead, I needed either escapeshellarg() (http://www.php.net/manual/en/function.escapeshellarg.php) or escapeshellcmd() (http://www.php.net/manual/en/function.escapeshellcmd.php)
22 years ago
This function escapes characters that have special meaning in regular expressions. preg_quote() has similar functionality, but is more powerful since it escapes more characters (including one user-specified character).
- Copyright © 2001-2024 The PHP Group
- My PHP.net
- Contact
- Other PHP.net sites
- Privacy policy
Как экранировать кавычки в PhpStorm
В какой язык вставили? А то я несколько раз замечал, что в том же php если внутрь строки вставляешь — то phpStorm сам кавычки экранирует.
На сайте с 02.08.2014
2 марта 2017, 19:37Дикий пионер:
В какой язык вставили? А то я несколько раз замечал, что в том же php если внутрь строки вставляешь — то phpStorm сам кавычки экранирует.Что бы автоматом не экранировал при вставке CTRL+Shift+Alt+V Если вы Вставляете текст в двойные кавычки в котором есть двойные кавычки, то они экранируется автоматом. Тоже самое касается и одинарных кавычек.