php. Как использовать str_replace так, чтобы он делал замену только при первом вхождении?

  1. Категория:
  2. Программирование
  3. php
Автор: Hettinger Дата: 14:48 08-09-2024 Просмотров: 85 Ответов: 1
Как мне использовать str_replace() так, чтобы он заменял только первое вхождение $search в $subject
Есть ли вообще такая возможность?
Нравится:
Loading...
1
Карма: 2
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Автор: neo
Дата: 20:15 09-09-2024
Можно попробовать сделать функцию first_str_replace, которая будет делать замену первого найденного слова:

<?php

$text = 'Hello world world!';

print_r(first_str_replace($text, 'world', 'zambers'));

/**
 * @param $text - текст
 * @param $need - слово, которое необходимо заменить
 * @param $replace - слово, на которое заменяем
 */
function first_str_replace($text, $need, $replace)
{
    $pos = strpos($text, $need);
    if ($pos !== false) {
         $text = substr_replace($text, $replace, $pos, strlen($need));
    }
 
    return $text;
}


В функции  first_str_replace, есть функция strpos, которая найдет позицию первого вхождения строки в тексте.
И далее с помощью функции  substr_replace, находит и делает замену по позиции начала и конца строки в тексте.
Нравится:
Loading...
1
Карма: 0
© 2024 Zambers.Ru All Rights Reserved.

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем файлы cookies