Приведем список часто используемых строковых функций.
Наименование функции
Назначение функции и возвращаемое значение
Параметры
strops
Найти в строке подстроку. Если подстрока найдена, то функция вернет номер позиции, если не найдена, то false. Чтобы избежать путаницы с 0-ой найденной позицией и false, нужно проверять возвращаемое значение на эквивалентность false.
Функция при поиске чувствительна к регистру.
· Строка, в которой выполняется поиск;
· Строка для поиска;
· Необязательный параметр, указывающий с какого символа искать, символы нумеруются с 0, по умолчанию параметр имеет значение 0.
strstr
Найти в строке заданную подстроку и вернуть весь остаток исходной строки, начиная с найденной подстроки. Если подстрока не найдена, то функция вернет false.
· Строка, в которой выполняется поиск;
· Строка для поиска.
substr
Вернуть из исходной строки подстроку, начиная с заданной позиции.
· Исходная строка;
· Позиция начального символа;
· Необязательный параметр, указывающий сколько символов должно войти в итоговую подстроку, если параметр отсутствует, то выделяется подстрока до конца исходной строки.
str_replace
Вернуть строку, в которой все вхождения заданной подстроки будут заменены на новую подстроку.
· Подстрока для замены;
· Подстрока для подстановки на место заменяемой;
· Исходная строка.
explode
Вернуть массив, сформированный из исходной строки, в который войдут в качестве элементов подстроки, разделенные заданным разделителем.
· Разделитель (символ или подстрока);
· Исходная строка;
· Необязательный параметр, указывающий максимальное число элементов в выходном массиве. Если параметр задан, и при работе функции получилось больше подстрок чем указано в параметре, то последний элемент массива будет содержать весь «хвост», оставшийся от исходной строки.
Примеры использования строковых функций
Пример:
<?php $str1 = "Иванов;Петров;Сидоров";
$pos = strpos($str1, "Пет", 1); // функция вернет 7 $pos = strpos($str1, "И", 1); // функция вернет 0
// неправильная проверка, поскольку 0 преобразуется в false if( !$pos ) { echo "Ничего не нашли!"; }
// правильная проверка на эквивалентность if( $pos === false ) { echo "Ничего не нашли!"; }
$str2 = strstr($str1, "Пет" ); // функция вернет "Петров;Сидоров" $str2 = substr($str1, 6 ); // функция вернет ";Петров;Сидоров" $str2 = substr($str1, 6, 4 ); // функция вернет ";Пет"