Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ПОКС.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
4.59 Mб
Скачать

Функции отрезания пробелов

Функции отрезания пробелов: Существует несколько функций отрезания пробелов. Я бы хотела познакомить Вас с ними. Они могут Вам понадобиться. string trim(string $st) Возвращает копию $st, только с удалёнными ведущими и концевыми пробелами. Под пробельными символами будем понимать не только сам пробел " ", но и символ перевода строки \n, символ возврата каретки \r и символ табуляции \t. Например trim (" test\n ")// вернёт строку "test". Эта функция работает оченьбыстро, поэтому её можно исспользовать везде, где есть подозрение на излишние пробелы.

string ltrim(string $st) То же, что и trim ( ), только удаляет исключительно ведущие пробелы, а концевые не трогает. Рекомендуется везде, где можно использовать trim ( ), а не ltrim ( ). string chop(string $st) Удаляет только концевые пробелы, а ведущие не трогает.

Базовые функции

базовые функции:   пусть ещё не всё понятно, но скоро всё будет ясно. int strlen(string $st) Возвращает длину строки $st. Как примечание: строка может содержать любые символы, в том числе и с ненулевым кодом (в Си это запрещено). int strpos(string $where, string $what, int $fromwhere=0) Пытается найти в строке $where подстроку $what и, в случае успеха, возвращает позицию этой подстроки в строке, в противном случае возвращает false. $fromwhere - необязательный параметр, если поиск подстроки нужно вести не с начала строки, а с какой-то определённой позиции. string substr(string $str, int $from [,int $length]) Возвращает участок строки $str, начиная с позиции $start, и длиной $length, если $length не задана, то подразумевается строка от $start, до конца строки. Если $start больше, чем длина строки , или же $length=0, то возвращается пустая строка. Полезное примечание: если в $start передать отрицательное число, то будет считаться, что это число является индексом подстроки, но только отсчитываемым от конца $str. $length тоже может быть отрицательным, тогда последним символом возвращённой подстроки будет символ из $str с этим индексом, определяемым от конца строки. Надеюсь, вы ещё не совсем запутались! int strcmp(string $str1, string $str2) Сравнивает две строки посимвольно и возвращает 0, если строки полностью совпадают; -1, если строка $str1 лексиграфически меньше $str2; 1, если наоборот. Примечание: здесь учитывается регистр букв, ибо сравнение идёт побайтово, но если хотите этого избежать, то воспользуйтесь int strcasecmp(string $str1, string $str2) Примечание: если вы используете строку, на кириллице, то могут возникнуть осложнения, всё зависит от настроек локали.

Работа с блоками текста

Работа с блоками текста:  Здесь мы рассмотрим функции, которые бывают полезны при однотипной работе с многочисленными блоками текста. string str_replace(string $from, string $to, string $str) заменяет в сторке $str все вхождения строки $from на $to и возвращает результат. Исходная строка при этом не меняется. Если нет неоюходимости в какой-нибудь экзотической замене, то рекомендуется использовать именно эту функцию, а не ereg_replase, ибо она работает значительно быстрее. Примечание: C помощью этой функции можно, например заменить все символы перевода строки на их HTML-эквивалент, но для этого может быть применена и функция string n12br(string $string) string WordWrap(string $st, int $width=75,string $break="\n") Эта очень полезна при форматировании текста письма перед отправкой его по адресу при помощи mail( ). Разбивает блок текста $st на несколько строк, завершаемых символами $break, так, чтобы на одной строке было не более $width букв. Возвращается строка, с символами перевода строки, переданными в $break. Расмотрим пример как мы можем отформатировть текст, предворив каждую строку префиксом ">":

function Cite($OurText, $prefix=">")

{ $st=WordWrap($OurText, 60-strlen($prefix), "\n");

$st=$prefix.str_replace("\n", "\n$prefix", $st);

return $st

}

string strip_tags (string $str [, string $allowable_tags]) Эта функция удаляет из строки все тэги и возвращает результат. В параметре $allowable_tags можно передать те тэги, которые не следует удалять из строки. Они должны перечисляться вплотную друг к другу. string str_repeat(string $st, string $number) Функция "повторяет" строку и возвращает объединённый результат. Пример: echo str_repeat("test!", 3);// выводит test!test!test!

MD5

string md5(string $st) Возвращает хэш-код стоки $st, основанный на алгоритме корпорации RSA Data Security под названием "MD5 Message-Digest Algorithm". Хэш-код - это просто строка, практически уникальная для каждой из строк $st. Другими словами, вероятность того, что две разные строки, переданные в $st, дадут нам одинаковый хэш-код практически равна 0. Примечание:длина строки может достигать нескольких тысяч символов, а её MD5 код может занимать максимум 32 символа. Алгоритм MD5 был специально для того, чтобы максимально обезопасить вас от компьютерных взломщиков и воспрепятствовать расшифровке вашей информации и входа в систему, если файл с кодами был украден. Т.к. всё же есть вероятность того, что у разных строк MD5 коды всё же совпадут, то, чтобы не дать злоумышленнику войти в систему, перебирая пароли с очень высокой скоростью, алгоритм MD5 работает довольно медленно и его нельзя убыстрить.   (Идея в том, что из MD5 кода нельзя обратно получить зашифрованную строку, даже если вы знаете алгоритм шифрования) Примечание: Для этой же цели можно использовать функцию int crc32(string $str) которая вычисляет 32-битовую контрольную сумму строки $str, т.е. результат её работы - 32-битное целое число. Эта функция работает гораздо быстрее, чем md5(), но она даёт гораздо менее надёжные хэш-коды для строки. Поэтому всё же рекомендуем использовать функцию md5( ).