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

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

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

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

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

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

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

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

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

Август 25, 2017 г.

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

Читать

Если simplexml "не парсит" атрибуты...

Август 12, 2017 г.

.. то скорее всего, вы ошибаетесь. Рассмотрим следующий пример XML. В документе example.xml содержится запись о валюте и информация о категории товара. Обе записи содержат аттрибуты. [crayon-697d22f4f3c08648502935/] Выполним чтение и вывод информации ...

Читать

urlencode vs rawurlencode: разница и примеры в PHP

Июль 3, 2025 г.

Если вам нужно передать данные в URL в PHP, вы наверняка сталкивались с функцией urlencode(). А может быть, слышали и о rawurlencode(). И ещё третья функция — http_build_query() — всплывает в ответах на форумах и в рекомендациях официальной документации. ...

Читать

Base Auth в PHP

Ноябрь 17, 2022 г.

Рассмотрим здесь вариации с выполнением base auth. Как оказывается из опыта работы с некоторыми API, они не являются эквивалентными. И одна форма запроса может не работать, в то время как другая будет выполняться. Задача следующая - получить содержимое ...

Читать
 

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

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



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