Замена первого/последнего значения в строке на PHP

Задача — заменить первое/последнее искомое значение в заданной строке.

В PHP много уделяется внимания работы со строками, но вот оптимального решения для этой задачи нет.

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

Кроме того, как произвести замену, если цель — последнее вхождение $old_value?

Приходится конструировать следующие функции (обернем их в класс):

Два метода этого класса реализуют замену первого вхождения подстроки (replace_first) и последнего (replace_last).

Мало букафф? Читайте есчо !

Проверка кода ИНН на PHP

Сентябрь 23, 2015 г.

В этом году писал реализацию данной функции для проекта C2C-base. Оказывается, бывает ИНН двух видов - для юридических лиц и физ лиц - 10 или 12 знаков соответственно. Проверка большинства подобных кодов осуществляется по контрольным цифрам, содержащимся ...

Читать

Валидатор ip адреса на PHP

Ноябрь 13, 2015 г.

Пример хелпера-валидатора на PHP для проверки формата ip адреса. [crayon-69a436ead1ca9843673222/] Функция проверяет является ли формально строка ip-адресом по протоколам ipv4 или ipv6. Возвращает булево значение. Возможно применение этого кода ...

Читать

Функция для локализации изображения при экспорте статьи

Февраль 29, 2016 г.

За многолетнюю практику работы с Drupal, я накопил целую библиотеку вспомогательных функций. Функция, описываемая в этой статье, используется для копирования ...

Читать

Определить город по IP адресу

Май 4, 2017 г.

Писал ранее об API ipinfo.io. Сервис позволяет вытащить как гео координаты, так и названия города, региона, страны. Единственный недостаток - информация на английском языке. В данной статье рассмотрим пару примеров использования сервиса. Обращение ...

Читать
 

Комментарии к «Замена первого/последнего значения в строке на PHP»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: