Руководство по языку программирования PHP
 

PCRE
 

Строковые функции PHP

addcslashes()

Синтаксис:

addcslashes (str, charlist)


Поддерживается следующими версиями PHP:

3
4
5
-
+
+

Описание функции:

Функция addcslashes() возвращает строку где перед каждым символом заданным в аргументе charlist устанавливается обратный слэш

Аргумент
Описание
Тип
str

Обязательный аргумент. Строка в которой символы перечисленные в аргументе charlist будут экранированы

string
charlist Обязательный аргумент. Символы перед которыми будет поставлен обратный слэш (\) string

Следует быть внимательным при применении данной функции, со следующими escape последовательностями:

\0 (NULL),

\r (возврат каретки),

\n (перевод строки),

\t (табуляция).

Символы с кодом ASCII менее 32 и более 126 преобразуются в восьмеричное представление.

Функция допускает использования диапазонов например диапазон '0..9' экранирует все цифры, диапазон 'a..z' экранирует все буквы нижнего регистра. В то же время надо иметь ввиду, что диапазон нужно задавать от символа с меньшим кодом ASCII до большего, в противном случае будут экранироваться только первый и последний символ диапазона.


Примеры:

Пример 1:


$out = addcslashes("PHP5 - система разработки сценариев", P);
print ($out);

?>

Результат:

\PH\P5 - система разработки сценариев

Пример 2:

Русские буквы переводятся в восьмеричное представление, так ка их код ASCII более 126


$out = addcslashes("PHP5 - система разработки сценариев", а);
print ($out);

?>

Результат:

PHP5 - систем\340 р\340зр\340ботки сцен\340риев

Пример 3:

В этом примере будут экранированы только символы "z", "a" и ".", так как диапазон задан об символа с большим кодом ASCII к меньшему. Так же будет выдано предупреждение.


$out = addcslashes("abcdfg..z", 'z..a');
print ($out);

?>

Результат:

Warning: addcslashes() [function.addcslashes]: Invalid '..'-range, '..'-range needs to be incrementing

\abcdfg\.\.\z

Пример 4:

В этом примере будут экранированы все маленькие и большие буквы латинского алфавита, а также символы [\]^_` Это связано с тем что эти символы входят в диапазон 'A..z' (посмотрите таблицу символов ASCII)


echo addcslashes('a[o]', 'A..z');
?>

Результат:

\a\[\o\]

 

Строковые функции

addcslashes()
addslashes()
bin2hex()
chop()
chr()
chunk_split()
convert_cyr_string()
convert_uudecode()
convert_uuencode()
count_chars()
crc32()
crypt()
echo()
explode()
fprintf()
get_html_translation_table()
html_entity_decode()
htmlentities()
htmlspecialchars_decode()
htmlspecialchars()
implode()
join()
localeconv()
ltrim()
md5
md5_file()
metaphone()
nl2br()
number_format()
ord()
parse_str()
print()
printf()
quotemeta()
rtrim()
sha1_file()
sha1()
similar_text()
soundex()
sprintf()
sscanf()
str_ireplace()
str_repeat()
str_replace()
str_rot13()
str_shuffle()
str_split()
str_word_count()
strcasecmp()
strchr()
strcmp()
strcoll()
strcspn()
strip_tags()
stripcslashes()
stripos()
stripslashes()
strlen()
strnatcasecmp()
strnatcmp()
strncasecmp()
strncmp()
strpbrk()
strpos()
strrchr()
strrev()
strripos()
strrpos()
strspn()
stristr()
strtok()
strtolower()
strtoupper()
strstr()
substr_compare()
substr_count()
substr_replace()
substr()
trim()
ucfirst()
ucwords()
vfprintf()
vprintf()
vsprintf()
wordwrap()

Надёжный хостинг BeGet.ru