Изменение содержимого строки

Изменение содержимого строки выполняется с помощью следующих функций:

mixed str_replace(mixed search, mixed replace,

mixed subject)

string substr_replace(string string, string replacement,

int start [, int length])

string strtr(string str, string from, string to)

string strtr(string str, array replace_pairs)

string strip_tags(string str [, string allowable_tags])

string nl2br(string string)

string strrev(string string)

string str_repeat(string input, int multiplier)

string strtolower(string str)

string strtoupper(string string)

string trim(string str [, string charlist])

string ltrim(string str [, string charlist])

string rtrim(string str [, string charlist])

Функция str_replace() возвращает строку или массив, в котором строки search в строке или массиве subject заменены строкой replace. Если subject является массивом, то поиск и замена производится в каждом элементе массива. Если search и replace являются массивами, то поиск в subject производится для каждого элемента массива search, который заменяется элементом массива replace с тем же индексом.

Функция substr_replace() заменяет часть строки string, начиная с позиции start и длиной length строкой replacement. Если start – отрицательное число, позиция начала замены отсчитывается от конца строки. Если параметр length – отрицательное число, он определяет позицию от конца строки, на которой заканчивается замена. Если параметр length не задан, замена производится до конца строки.

Функция strtr() имеет две формы. Первая форма возвращает строку, в которой каждый символ строки from, встречающийся в строке string, заменяется соответствующим символом строки to (если строки разной длины, то для замены используется наименьшая длина). Во второй форме ключи массива во втором параметре содержат строки поиска, а значения – строки замены.

Функция strip_tags() удаляет элементы HTML и PHP из строки str. Во втором параметре allowable_tags может быть задан список элементов, которые не удаляются из строки.

Функция nl2br() возвращает строку, в которой перед каждыми символами перехода на новую строку вставляется элемент <br>.

Функция strrev() возвращает строку с символами исходной строки string, переставленными в обратном порядке, а функция str_repeat() возвращает строку, в которой строка, указанная в первом параметре, повторяется количество раз, указанное во втором параметре. Функции strtolower() и strtoupper() возвращают значения строки, в которых латинские буквы исходной строки переведены соответственно в нижний или верхний регистр.

Функции trim(), ltrim() и rtrim() удаляют указанные во втором параметре символы соответственно в начале и конце строки, только в начале строке или только в конце строки. Диапазон значений удаляемых символов можно указать, указав между нижней и верхней границей диапазона символы "..", например:

$str2 = trim($str2, "\0x00..\0x1F");

удаляет все управляющие символы в начале и в конце строки $str2. Если второй параметр не указан, удаляются все пробельные символы.

Пример 4.6.119. Использование функций str_replace() и substr_replace():

В следующем фрагменте программы выполняются замены фамилии, имени и отчества:

// Изменяемая строка

$str = 'Name: Ivanov Ivan Ivanovich';

// Замена имени в строке

$str = substr_replace($str, 'Valentin', 13, 4);

// Замена в строке фамилии и отчества

$str = str_replace('Ivan', 'Sidor', $str);

// Вывод полученной строки

print "\n\$str='$str'";

Вывод этого фрагмента будет иметь следующий вид:

Пример 4.6.120. Использование функции strtr():

1. Замена в строке символа ":" на символ перехода на новую строку, а символ пробела – на символ ";":

$str = 'Name:Ivanov Ivan Ivanovich'; // Изменяемая строка

$str = strtr($str, ": ","\n;"); // Замена символов в строке

print "\n\$str='$str'";// Вывод полученной строки

В результате выполнения фрагмента на экран будут выведены строки:

2. Перестановка фамилии в конец строки в строке $str:

// Изменяемая строка

$str = 'Name: Ivanov Ivan Ivanovich';

// Массив замены подстрок

$exchange = array('Ivanovich' => 'Ivanov',

'Ivan ' => 'Ivanovich ', 'Ivanov ' => 'Ivan ');

// Замена подстрок в строке

$str = strtr($str, $exchange);

// Вывод полученной строки

print "\n\$str='$str'";

В результате выполнения фрагмента на экран будет выведена строка:

Пример 4.6.121. Использование функций strip_tags() и nl2br():

В следующем фрагменте программы из строки $str удаляются все элементы HTML, кроме элемента <p>, а также символ перехода на новую строку дополняется элементом <br>:

// Изменяемая строка

$str = "<h1>Header <i>1</i></h1>\n<p>Paragraph text</p>";

// Удаление элементов <h1> и <i> из строки

$str = strip_tags($str, '<p>');

// Добавление элемента <br> в строку

$str = nl2br($str);

// Вывод полученной строки

print "\n\$str='$str'";

В результате выполнения фрагмента на экран будут выведены строки:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: