Функции работы с блоками текста
str_replace()
substr_replace()
strtr()
stripslashes()
stripcslashes()
addslashes()
addcslashes()
quotemeta()
strrev()
wordwrap()
Синтаксис:
string wordwrap(string str [, int width [, string break [, int cut]]])
Функция wordwrap() разбивает исходный текст на строки с определенными завершающими символами. Согласно синтаксису, эта функция разбивает блок текста str на несколько строк, которые завершаеются символами break, так, чтобы в одной строке было не более width букв. Поскольку разбиение происходит по границам слов, текст остается вполне читаемым.
К примеру:
<?
$str = "Вставай, страна огромная";
$mod_str = wordwrap($str,5,"\t");
echo($mod_str);
?>
str_replace()
Синтаксис:
string str_replace(string from, string to, string str)
Функция str_replace() заменяет в исходной строке str одни подстроки на другие. Т.е. функция заменяет в строке str все вхождения подстроки from на to и возвращает результат. Эта функция может работать с двоичными строками.
Функция, вообще говоря, нужная. К примеру, если Вы пишите что-то типа гостевой книги, форума, и хотите, чтобы в форме ввода для выделения теста можно было пользоваться стандарными тегами HTML, Вы можете с помощью этой функции заменить символы, которые Вы выбрали для форматирования на стандартные теги НТML. К примеру:
$txt = str_replace("[B]","<B>",$txt);
Т.е. если Вы используете для отображения текста полужирным шрифтом символы "[B]", Вы должны их заменить на символ "<B>", используемые в НТМL.
Позже, при написании реального проекта, мы обязательно будем использовать как эту, так и многие другие, рассмотренные нами функции.
substr_replace()
Синтаксис:
string substr_replace(string str, string replacement, int start [, int length])
Эта функция заменяет в исходной строке одни подстроки на другие. Она возвращает строку str, в которой часть от символа с позицией start и длиной length заменяется строкой replacement. Если аргумент длины length не указан, замена проводится до конца.
Если значение аргумента start положительно, то отсчет производится от начала строки str, в противном случае - от конца. В случае неотрицательного значения length, оно указывает длину заменяемого фрагмента. Если же оно отрицательно, то это - число символов от конца строки str до последнего символа заменяемого фрагмента.
strtr()
Синтаксис:
string strtr(string str, string from, string to)
string strtr(string str, array from)
Эта функция предназначена для комплексной замены в строке и имеет два вида синтаксиса. В первом случае функция strtr() возвращает строку str, в которой каждый символ, присутствующий в строке from, заменяется на символ из строки to. Если строки from и to различной длины, то лишние конечные символы у той строки, которая длинее, игнорируются. Во втором случае функция strtr() возвращает строку, в которой фрагменты строки str заменяются на фрагменты, соответствующие индексам значений элементов массива from. Сначала функция пытается заменить наибольшие фрагменты исходной строки, при этом не выполняя замену в уже модифицированных частях строки. Таким образом, можно выполнить несколько замен сразу:
<?
$str = array("" => "M.Kuznetsov",
"<name2>" => "I.Simdyanov");
$str_out = "Авторы этого учебника и приветствуют вас!";
echo strtr($str_out,$str);
?>
А вот как можно при помощи этой функции отменить действие функции htmlspecialchars():
<?
$var = array_flip(get_html_translation_table());
$str = strtr($str, $var);
?>
Т.е., из строки, в которой все спецсимволы заменены на их 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)
Функция добавление слешей перед специальными символами строки.
Возвращает строку str, в которую вставлены символы обратного слеша перед перечисленными в списке charlist символами. Это позволяет преобразовывать символы, которые не печатаются в их визуальное С-представление.
quotemeta()
Синтаксис:
string quotemeta(string str)
Функция цитирования метасимволов. Возвращает строку, в которую добавлены обратные слеши перед каждым из следующих символов: . \\ + * ? [ ^ ] ( $ ). Функцию можно использовать для подготовки шаблонов в регулярных выражениях.
strrev()
Синтаксис:
string strrev(string str)
Функция производит реверс строки.