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

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

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

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

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

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

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

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

Как получить HTTP код ответа удаленного веб-сервера из PHP?

Июнь 23, 2018 г.

Когда требуется получить HTTP код для заданной URL, то вы наверняка воспользуетесь PHP функцией get_headers($url). Дальше я расскажу о разных подводных ...

Читать

Измеряем скорость работы кода в PHP

Сентябрь 15, 2017 г.

Чтобы измерить скорость работы кода нужны две вещи - "код" и секундомер. Программный код у вас есть, а секундомер, оформленный в виде класса - можете взять здесь. Очень простой, основанный на функции microtime(), секундомер скрывает рутину по сохранению ...

Читать

Вызов замыкания из другой анонимной функции.

Декабрь 14, 2020 г.

При необходимости использовать (в PHP коде) замыкание (closure) A в коде замыкания B, возникает проблема в области видимости. Т.к. внутри B о функции A ничего не известно. Пример ситуации: [crayon-69f9056817b1b754543107/] Для того чтобы в ...

Читать

Поиск дубля в массиве на PHP

Июнь 20, 2017 г.

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

Читать
 

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

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



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