Работа с массивами : Комплексная замена в строке
strtr
Комплексная замена в строке.
Синтаксис :
string strtr(string str, string from, string to)
string strtr(string str, array from)
В первом случае функция strtr() возвращает строку
str, у которой каждый символ, присутствующий в
строку from, заменяется на корреспондирующий из
строки to. В случае, если строки from и
to различной длины, то лишние конечные символы
длинной строки игнорируются.
Во втором случае функция strtr() возвращает
строку, в которой фрагменты строки str заменяются
на соответствующие индексам значения элементов массива
from. При этом функция пытается заменить сначало
наибольшие фрагменты исходной строки и не выполняет
замену в уже модифицированных частях строки. Таким
бразом, теперь мы можем выполнить несколько замен сразу:
$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-эквиваленты, получим исходную
строку.