|
существенно быстрее, чем ereg_replace(), которую мы
рассмотрим в главе, посвященной регулярным выражениям. Правде, она имеет вме-
сте с тем несколько меньшую функциональность...
Следующие несколько функций предназначены для быстрого URL-кодирования и
декодирования.
string UrlEncode(string $st)
Функция URL-кодирует строку $st и возвращает результат. Эту функцию удобно
применять, если вы, например, хотите динамически сформировать ссылку на какой-то сценарий, но не уверены, что его параметры содержат
только
алфавитно-цифровые символы. В этом случае воспользуйтесь функцией так:
echo "$v) {?>
Имя: =$v['name']?>
Текст: =HtmlSpecialChars($v['text'])?>
}?>
Используя этот незамысловатый прием, вы гарантированно избавите себя от проблем
с запретом тэгов.
Часть IV. Стандартные функции PHP 216
Начинающие Web-программисты для решения задачи запрета тэгов часто пы-
таются просто удалить их из строки — например, применив функцию
strip_tags(). Это метод довольно плох, потому что всегда существует ве-
роятность того, что злоумышленник сможет "обмануть" эту функцию. Конечно,
еще хуже метод с применением регулярных выражений, потому что, как из-
вестно, с их помощью вовсе невозможно выделить некоторые тэги из строки —
например, тэги такого вида: .
string StripSlashes(string $st)
Заменяет в строке $st некоторые предваренные слэшем символы на их однокодовые
эквиваленты. Это относится к следующим символам: ", ', \ и никаким другим.
string AddSlashes(string $st)
Вставляет слэши только перед следующими символами: ', " и \. Функцию очень
удобно использовать при вызове eval() (эта функция выполняет строку, переданную
ей в параметрах, так, как будто имеет дело с небольшой PHP-программой; о ней
(функции) мы еще поговорим, и при том очень подробно).
Функции изменения регистра
Довольно часто нам приходится переводить какие-то строки, скажем, в верхний ре-
гистр, т. е. делать все прописные буквы в строке заглавными. В принципе, для
этой
цели можно было бы воспользоваться функцией strtr(), рассмотренной выше, но
она все же будет работать не так быстро, как нам иногда хотелось бы. В PHP есть
функции, которые предназначены специально для таких нужд. Вот они.
string strtolower(string $str)
Преобразует строку в
|
|