Смекни!
smekni.com

Учебник php (стр. 10 из 26)

$Subs = array("<name>" => "Larry", "<time>" => date("d.m.Y"));$st="Привет, <name>! Сейчас <time";echo strtr($st,$Subs);

А вот как можно "отменить" действие функции HtmlSpecialChars():

$Trans=array_flip(get_html_translation_table());$st=strtr($st, $Trans);

В результате мы из строки, в которой все спецсимволы заменены на их HTML-эквиваленты, получим исходную строку.

stripslashes
Удаление обратных слешей.

Синтаксис :
string stripslashes(string str);

Заменяет в строке str некоторые предваренные слешем символы на их однокодовые эквиваленты. Это относится к следующим символам: ", ", &bsol;.

stripcslashes
Преобразование специальных символов в их двоичное представление.

Синтаксис :
string stripcslashes(string str);

Возвращает строку, в которой те специальные символы, которые закомментированы (для визуального отображения) обратным слешем, преобразуются в их естественное двоичное представление. Распознаются C-подобные записи, например: &bsol;n, &bsol;r ..., восьмеричные и шестнадцатеричные последовательности.

addslashes
Добавление слешей перед специальными символами строки.

Синтаксис :
string addslashes(string str);

Вставляет слеши только перед следующими символами:", " и &bsol;. Функцию очень удобно использовать при вызове eval().

addcslashes
Форматирование строки слешами в С-представление.

Синтаксис :
string addcslashes(string str, string charlist);

Функция addcslashes() возвращает строку str, в которую вставлены символы обратного слеша "&bsol;" перед перечисленными в строке-списке charlist символами. Это позволяет преобразовать непечатные символы в их визуальное С-представление.

quotemeta
Цитирование метасимволов.

Синтаксис :
string quotemeta(string str);

Возвращает строку, в которую добавлены обратные слеши "&bsol;" перед каждым из следующих символов:
. &bsol; + * ? [ ^ ] ( $ )

Может использоваться для подготовки шаблонов в регулярных выражениях.

strrev
Производит реверс строки.

Синтаксис :
string strrev(string str)

функция strrev() возвращает строку str "задом наперед".

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

nl2br
Заменяет символы перевода строки.

Синтаксис :
string nl2br(string string)

Заменяет в строке все символы новой строки &bsol;n на <br>&bsol;n и возвращает результат. Исходная строка не изменяется. Обратите внимание на то, что символы &bsol;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 = "&amplt; A &amp; B &gt;"

Иногда удобно использовать функцию array_flip() для изменения направления транслитерации.

$trans = array_flip($trans);$original = strtr($encoded, $trans);

htmlspecialchars
Производит преобразование спецсимволов в HTML-представление.


Синтаксис :
string HtmlSpecialChars(string str [, int quote_style]);

Основное назначение этой функции - гарантировать, что в выводимой строке ни один участок не будет воспринят как тэг.
Заменяет в строке некоторые символы (такие как амперсанд, кавычки и знаки "больше" и "меньше") на их HTML-эквиваленты,так, чтобы они выглядели на странице "самими собой". Самое типичное применение этой функции - формирование параметра value в различных элементах формы, чтобы не было никаких проблем с кавычками, или же вывод сообщения в гостевой книге, если вставлять теги пользователю запрещено. При помощи необязательного атрибута quote_style можно указать, что делать с кавычками:

· ENT_COMPAT (по умолчанию) - разрешить трансляцию только двойных кавычек

· ENT_QUOTES - разрешить трансляцию любых кавычек

· ENT_NOQUOTES - запретить трансляцию любых кавычек

$str = htmlspecialchars("<a href=index.php>Главная</a>", ENT_QUOTES);

htmlentities
Производит конвертацию символов, имеющих HTML-представление.


Синтаксис :
string htmlentities(string str [, int quote_style]);

Эта функция похожа на htmlspecialchars(), но только в ней производиться не выборочная трансляция, а полная - для всех символов, которые могут иметь эквивалентные HTML-представления.
При помощи необязательного атрибута quote_style можно указать, что делать с кавычками:

· ENT_COMPAT (по умолчанию) - разрешить трансляцию только двойных кавычек

· ENT_QUOTES - разрешить трансляцию любых кавычек

· ENT_NOQUOTES - запретить трансляцию любых кавычек

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() с тем отличием, что она преобразует символы перевода строк "&bsol;n" в "<br>&bsol;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. Он может принимать следующие строкрвые значения:

·LC_CTYPE - активизирует указанную локаль для функций перевода в верхний/нижний регистры;

·LC_NUMERIC - активизирует локаль для функций форматирования дробных чисел - а именно, задает разделитель целой и дробной части в числах;

·LC_TIME - задает формат вывода даты и времени по умолчанию;

·LC_ALL - устанавливает все вышеперечисленные режимы.

Теперь поговорим о параметре locale. Как известно, каждая локаль, установленная в системе, имеет свое уникальное имя, по которому к ней можно обратиться. Именно оно и фиксируется в этом параметре. Однако, есть два важных исключения из этого правила. Во-первых, если величина locale равна пустой строке "", то устанавливается та локаль, которая указана в глобальной переменной окружения с именем, совпадающем с именем категории category (или LANG - она практически всегда присутствует в Unix). Во-вторых, если в этом параметре передается 0, то новая локаль не устанавливается, а просто возвращается имя текущей локали для указанного режима.