@Arturlt

Как с помощью preg_replace заменить слово в тексте по условию?

Здравствуйте!

Есть задача заменить слово в тексте по условию. Вот к примеру есть код:

$.ajax({type: "POST",url: "/dir1/dir2/ajax/ads",data: "view=list",dataType: "html",cache: false,success: function (data) {
}});

Есть строчка в тексте /dir1/dir2/ajax/ads нужно заменить всё до /ajax/ads, то есть заменить нужно /dir1/dir2 . Подскажите как правильно построить условие?
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
@IS-Builder
~ PHP-8 & REGEXP - This is a really powerful kit ~
~url:\h"\K[^"]+(?=/ajax/ads)~
А в комплекте с PHP будет так:
$text = '$.ajax({type: "POST",url: "/dir1/dir2/ajax/ads",data: "view=list",dataType: "html",cache: false,success: function (data) { 
}});';

$repl = 'ЗначениеДляЗамены';

$text = preg_replace('~url:\h"\K[^"]+(?=/ajax/ads)~', $repl, $text);

echo $text;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@oleg_gut
Если задача, чтобы заменить что-то в строке preg_replace

то вот регулярка '#.+(?=\/ajax.*)#'

https://regex101.com/r/CX4PPo/1
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы