Справочник по PHP - white cat
Шрифт:
Интервал:
Закладка:
Синтаксис:
string addslashes(string str);
Вставляет слеши только перед следующими символами:", " и . Функцию очень удобно использовать при вызове eval().
addcslashes
Форматирование строки слешами в С-представление.
Синтаксис:
string addcslashes(string str, string charlist);
Функция addcslashes() возвращает строку str, в которую вставлены символы обратного слеша "" перед перечисленными в строке-списке charlist символами. Это позволяет преобразовать непечатные символы в их визуальное С-представление.
quotemeta
Цитирование метасимволов.
Синтаксис:
string quotemeta(string str);
Возвращает строку, в которую добавлены обратные слеши "" перед каждым из следующих символов:. + * ? [ ^ ] ( $ )
Может использоваться для подготовки шаблонов в регулярных выражениях.
strrev
Производит реверс строки.
Синтаксис:
string strrev(string str)
функция strrev() возвращает строку str "задом наперед".
Функции для преобразования символов
nl2br
Заменяет символы перевода строки.
Синтаксис:
string nl2br(string string)
Заменяет в строке все символы новой строки n на <br>n и возвращает результат. Исходная строка не изменяется. Обратите внимание на то, что символы r, которые присутствуют в конце строки текстовых файлов Windows, этой функцией никак не учитываются, а потому остаются на старом месте.
strip_tags
Удаляет из строки теги.
Синтаксис:
string strip_tags(string str [, string allowable_tags])
Эта функция удаляет из строки все HTML- и PHP-теги и возвращает результат.
Незавершенные или фиктивные теги вызывают ошибку.
В параметре allowable_tags можно передать теги, которые не следует удалять из строки. Они должны перечисляться вплотную друг к другу.
$st="
<b>Жирный текст</b>
<tt>Моноширный текст</tt>
<a href=http://spravkaweb.ru>Ссылка</a>";
echo "Исходный текст: $st";
echo "<hr>После удаления тегов: ".striptags($st,"<a><b>").
"<hr>";
Запустив этот пример, мы сможем заметить, что теги <a> и <b> не были удалены (ровно как и их парные закрывающие), в то время как <tt> исчез.
get_meta_tags
Функция ищет и обрабатывает все теги <META>.
Синтаксис:
array get_meta_tags(string filename, int use_include_path)
Функция открывает файл и ищет в нем все теги <META> до тех пор, пока не встретится закрывающий тег </head>.
Если очередной тег <META> имеет вид:
<meta name="название" content="содержимое">
то пара название=>содержимое добавляется в результирующий массив, который под конец и возвращается.
Спецсимволы в значении атрибута filename заменяются на знак подчеркивания "_", а алфавитные символы преобразуются в нижний регистр.
Функция удобно использовать для быстрого получения всех метатегов из указанного файла.
Если необязательный параметр use_include_path установлен, то поиск файла осуществляется не только в текущем каталоге, но и во всех тех, которые назначены для поиска инструкциями include и require.
get_html_translation_table
Функция возвращает таблицу трансляции, которая используется функциями htmlspecialchars() и htmlentities().
Синтаксис:
string get_html_translation_table(int table [, int quote_style])
В этой функции аргумент table указывает, какую таблицу трансляции необходимо получить: HTML_SPECIALCHARS для функции htmlspecialchars() или HTML_ENTITIES для функции htmlentities(). Описание необязательного параметра quote_style приведено в функции htmlspecialchars().
$trans = get_html_translation_table(HTML_ENTITIES);
$str = "<A & B>";
$encoded = strtr($str, $strans);
// $encoded = "&lt; A & B >"
Иногда удобно использовать функцию array_flip() для изменения направления транслитерации.
$trans = array_flip($trans);
$original = strtr($encoded, $trans);
htmlspecialchars
Производит преобразование спецсимволов в HTML-представление.
Синтаксис:
string HtmlSpecialChars(string str [, int quote_style]);
Основное назначение этой функции - гарантировать, что в выводимой строке ни один участок не будет воспринят как тэг.
Заменяет в строке некоторые символы (такие как амперсанд, кавычки и знаки "больше" и "меньше") на их HTML-эквиваленты,так, чтобы они выглядели на странице "самими собой". Самое типичное применение этой функции - формирование параметра value в различных элементах формы, чтобы не было никаких проблем с кавычками, или же вывод сообщения в гостевой книге, если вставлять теги пользователю запрещено.
При помощи необязательного атрибута quote_style можно указать, что делать с кавычками:
$str = htmlspecialchars("<a href=index.php>Главная</a>", ENT_QUOTES);
htmlentities
Производит конвертацию символов, имеющих HTML-представление.
Синтаксис:
string htmlentities(string str [, int quote_style]);
Эта функция похожа на htmlspecialchars(), но только в ней производиться не выборочная трансляция, а полная - для всех символов, которые могут иметь эквивалентные HTML-представления.
При помощи необязательного атрибута quote_style можно указать, что делать с кавычками:
hebrev
Конвертация логического текста Hebrew в отображаемый.
Синтаксис:
string hebrev(string hebrew_text [, int max_chars_per_line]);
Необязательный аргумент max_chars_per_line указывает число символов на строку вывода. Функция пытается избежать разрыва слова.
hebrevc
Аналог функции hebrev() с расстановкой переносов.
Синтаксис:
string hebrevc(string hebrew_text [, int max_chars_per_line]);
Функция hebrevc() сходна с hebrev() с тем отличием, что она преобразует символы перевода строк "n" в "<br>n".
Необязательный аргумент max_chars_per_line указывает число символов на строку вывода. Функция пытается избежать разрыва слов.
quoted_printable_decode
Преобразование цитированной строки в 8-битную.
Синтаксис:
string quoted_printable_decode(string str);
Функции изменения регистра
strtolower
Производит преобразование символов строки в нижний регистр.
Синтаксис:
string strtolower(string str);
Преобразует строку в нижний регистр. Возвращает результат перевода.
Надо заметить, что при неправильной настройке локали функция будет выдавать, мягко говоря, странные результаты при работе с буквами кириллицы.
$str = "HeLLo World";
$str = strtolower($str);
echo $str;
// выведет hello world
strtoupper
Производит преобразование заданной строки в верхний регистр.
Синтаксис:
string strtoupper(string str);
Переводит строку в верхний регистр. Возвращает результат преобразования. Эта функция хорошо работает с английскими буквами, но с русскими может чудить.
$str = "Hello World";
$str = strtoupper($str);
echo $str;
// выведет HELLO WORLD
ucfirst
Производит преобразование первого символа строки в верхний регистр.
Синтаксис:
string ucfirst(string str);
Возвращает строку, у которой первый символ заглавный.
Символы кириллицы могут быть неправильно конвертированы.
$str = "hello world";
$str = ucfirst($str);
echo $str;
// выведет Hello world
ucwords
Производит преобразование первого символа каждого слова строки в верхний регистр.
Синтаксис:
string ucwords(string str);
Возвращает строку, у которой первый символ каждого слова в строке заглавный.
Под словом здесь понимается участок строки, которому предшествует пробельный символ: пробел, переход на новую строку, прогонка страницы, возврат каретки, горизонтальная и вертикальная табуляция.
Символы кириллицы могут быть неправильно конвертированы.
$str = "hello world";
$str = ucfirst($str);
echo $str;
// выведет Hello World
Установка локали (локальных настроек)
setlocale
Установка региональных настроек.
Синтаксис:
string SetLocale(string category, string locale);
Функция setlocale устанавливает текущую локаль, с которой будут работать функции преобразования регистра символов, вывода даты-времени и т.д. Вообще говоря, для каждой категории функций локаль определяется отдельно и выглядит по-разному. То, какую именно категорию функций затронет вызов setlocale(), задается в параметре category. Он может принимать следующие строковые значения:
Теперь поговорим о параметре locale. Как известно, каждая локаль, установленная в системе, имеет свое уникальное имя, по которому к ней можно обратиться. Именно оно и фиксируется в этом параметре. Однако, есть два важных исключения из этого правила. Во-первых, если величина locale равна пустой строке "", то устанавливается та локаль, которая указана в глобальной переменной окружения с именем, совпадающем с именем категории category (или LANG - она практически всегда присутствует в Unix). Во-вторых, если в этом параметре передается 0, то новая локаль не устанавливается, а просто возвращается имя текущей локали для указанного режима.