$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 некоторые предваренные слешем символы на их однокодовые эквиваленты. Это относится к следующим символам: ", ", \.
stripcslashes
Преобразование специальных символов в их двоичное представление.
Синтаксис :
string stripcslashes(string str);
Возвращает строку, в которой те специальные символы, которые закомментированы (для визуального отображения) обратным слешем, преобразуются в их естественное двоичное представление. Распознаются C-подобные записи, например: \n, \r ..., восьмеричные и шестнадцатеричные последовательности.
addslashes
Добавление слешей перед специальными символами строки.
Синтаксис :
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 можно передать теги, которые не следует удалять из строки. Они должны перечисляться вплотную друг к другу.
Запустив этот пример, мы сможем заметить, что теги <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().
Иногда удобно использовать функцию 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() с тем отличием, что она преобразует символы перевода строк "\n" в "<br>\n". необязательный аргумент max_chars_per_line указывает число символов на строку вывода. Функция пытается избежать разрыва слов.
quoted_printable_decode
Преобразование цитированной строки в 8-битную.
Синтаксис :
string quoted_printable_decode(string str);
strtolower
Производит преобразование символов строки в нижний регистр.
Синтаксис :
string strtolower(string str);
Преобразует строку в нижний регистр. Возвращает результат перевода.
Надо заметить, что при неправильной настройке локали функция будет выдавать, мягко говоря, странные результаты при работе с буквами кириллицы.
strtoupper
Производит преобразование заданной строки в верхний регистр.
Синтаксис :
string strtoupper(string str);
Переводит строку в верхний регистр. Возвращает результат преобразования. Эта функция хорошо работает с английскими буквами, но с русскими может чудить.
ucfirst
Производит преобразование первого символа строки в верхний регистр.
Синтаксис :
string ucfirst(string str);
Возвращает строку, у которой первый символ заглавный.
Символы кириллицы могут быть неправильно конвертированы.
ucwords
Производит преобразование первого символа каждого слова строки в верхний регистр.
Синтаксис :
string ucwords(string str);
Возвращает строку, у которой первый символ каждого слова в строке заглавный.
Под словом здесь понимается участок строки, которому предшествует пробельный символ: пробел, переход на новую строку, прогонка страницы, возрват каретки, горизонтальная и вертикальная табуляция.
Символы кириллицы могут быть неправильно конвертированы.
setlocale
Установка региональных настроек.
Синтаксис :
string SetLocale(string category, string locale);
Функция setlocale устанавливает текущую локаль, с которой будут работать функции преобразования регистра символов, вывода даты-времени и т.д. Вообще говоря, для каждой категории функций локаль определяется отдельно и выглядит по-разному. То, какую именно категорию функций затронет вызов setlocale(), задается в параметре category. Он может принимать следующие строкрвые значения:
·LC_CTYPE - активизирует указанную локаль для функций перевода в верхний/нижний регистры;
·LC_NUMERIC - активизирует локаль для функций форматирования дробных чисел - а именно, задает разделитель целой и дробной части в числах;
·LC_TIME - задает формат вывода даты и времени по умолчанию;
·LC_ALL - устанавливает все вышеперечисленные режимы.
Теперь поговорим о параметре locale. Как известно, каждая локаль, установленная в системе, имеет свое уникальное имя, по которому к ней можно обратиться. Именно оно и фиксируется в этом параметре. Однако, есть два важных исключения из этого правила. Во-первых, если величина locale равна пустой строке "", то устанавливается та локаль, которая указана в глобальной переменной окружения с именем, совпадающем с именем категории category (или LANG - она практически всегда присутствует в Unix). Во-вторых, если в этом параметре передается 0, то новая локаль не устанавливается, а просто возвращается имя текущей локали для указанного режима.