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

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

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

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

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

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

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

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

PHP: функция преобразования к каноническому пути

Январь 26, 2021 г.

На замену realpath, который работает только с реально существующими файлами и папками UNIX, а также не работающий для ссылок, я написал функцию получения канонического пути. В документации встречается функция eio_realpath, которая требует подключения ...

Читать

Загрузка-выгрузка в формате excel из PHP

Август 25, 2017 г.

Встроенные библиотеки PHP не позволяют работать с форматами данных популярного табличного процессора Excel. За исключением текстового формата CSV (см. ...

Читать

Чтение даты-времени из строки

Февраль 27, 2019 г.

Это частая задача возникает при чтении логов, пользовательских данных и .т.п. PHP даёт пару отличных инструментов, для её решения. Функция strtotime() Эта функция с довольно сложным функционалом, пытается определить не только формат пользовательского ...

Читать

php - получить первый день следующего месяца

Ноябрь 19, 2019 г.

При создании расписаний, календарей, и т.п. могут возникать задачи вроде - получить timestamp первого дня этого месяца, или последнего дня следующего и т.п. В лоб это решается вот так: [crayon-69cca4f4bb644217539734/] Со следующим месяцем ...

Читать
 

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

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



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