Php последнее вхождение подстроки

(PHP 3, PHP 4, PHP 5)

strrchr — Находит последнее вхождение подстроки

Описание

Возвращает подстроку строки haystack начиная с последнего вхождения needle до конца строки.

Если подстрока needle не найдена, возвращает FALSE .

В отличие от strchr() , если needle состоит более чем из одного символа, используется только первый символ.

Если needle не является строкой, он приводится к целому и трактуется как код символа.

Пример 1. Пример использования strrchr()

С версии PHP 4.3.0 strrchr() безопасна для обработки данных в двоичной форме.

Смотрите также описание функций strstr() , substr() и stristr() .

(PHP 4, PHP 5, PHP 7)

strrpos — Возвращает позицию последнего вхождения подстроки в строке

Описание

Ищет позицию последнего вхождения подстроки needle в строку haystack .

Список параметров

Строка, в которой производится поиск.

Если needle не является строкой, то он приводится к целому и трактуется как код символа.

Если указан, то поиск начнется с данного количества символов с начала строки. Если передано отрицательное значение, поиск начнется с указанного количества символов от конца строки, но по прежнему будет производится поиск последнего вхождения.

Возвращаемые значения

Возвращает номер позиции последнего вхождения needle относительно начала строки haystack (независимо от направления поиска и смещения (offset)). Также обратите внимание на то, что позиция строки отсчитывается от 0, а не от 1.

Возвращает FALSE , если искомая строка не найдена.

Список изменений

Версия Описание
5.0.0 Параметр needle может быть строкой из более чем одного символа.

Примеры

Пример #1 Проверка существования искомой строки

Легко ошибиться и перепутать возвращаемые значения в случаях "символ найден в нулевой позиции" и "символ не найден". Вот так можно узнать разницу:

Читайте также:  Wap tabor ru знакомства

Пример #2 Поиск со смещением

var_dump ( strrpos ( $foo , ‘7’ , — 5 )); // Поиск происходит в обратном направлении и
// начинается с пятой позиции с конца. Результат: int(17)

var_dump ( strrpos ( $foo , ‘7’ , 20 )); // Начинает поиск с 20 позиции в строке.
// Результат: int(27)

var_dump ( strrpos ( $foo , ‘7’ , 28 )); // Результат: bool(false)
?>

Смотрите также

  • strpos() — Возвращает позицию первого вхождения подстроки
  • stripos() — Возвращает позицию первого вхождения подстроки без учета регистра
  • strripos() — Возвращает позицию последнего вхождения подстроки без учета регистра
  • strrchr() — Находит последнее вхождение символа в строке
  • substr() — Возвращает подстроку

Предположим, что нам нужно найти подстроку в строке при помощи php.

Для решения этой задачи подходят разные инструменты.

Поиск подстроки с использованием функции strpos

Функция strpos возвращает позицию первого вхождения подстроки.

Функция возвращает либо порядковый номер первого символа подстроки в исходной строке, либо false, в случае если ничего не найдено.

При использовании этой функции, следует уделить особое внимание тому, что она может вернуть 0, в качестве результата, что говорит о нахождении подстроки в самом начале исходной строки. Поэтому нужно использовать троекратный знак равно $pos === false , для проверки успешности поиска.
Остальные "фишки" операторов сравнения описаны здесь: операторы сравнения.

Для этой функции существует регистронезависимый аналог: stripos

Еще одна функция для этой задачи: strrpos. Она находит последнее вхождение подстроки.
У нее, разумеется, тоже имеется регистронезависимый вариант: strripos

Если функция strpos не подходит для вашей цели, то найдите другой инструмент.
Для работы со строками существует также масса функций, о существовании которых необходимо знать: функции для работы со строками.

Читайте также:  Avermedia dvd ezmaker 7 driver windows 10

Поиск подстроки при помощи функции preg_match

Эта функция производит поиск подстроки при помощи регулярного выражения.

Регулярное выражение — это шаблон, который сравнивается со строкой. Под один шаблон может подходить сразу множество разных строк.

Они пригодятся если вам нужно производить поиск не по конкретной подстроке, а найти все строки, обладающие свойствами, описанными при помощи регулярного выражения. Знание этой темы сильно расширяет ваши возможности в работе со строками.

Начать рекомендую с этой статьи: регулярные выражения.

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *