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