У меня есть куча URL-адресов в статических html-файлах, которые нужно изменить.
Теперь они выглядят так:
<img src = "/ foldera / folderb / folderc / images / imgxyz.jpg" />
Они должны выглядеть так:
<img src = "imgxyz.jpg" />
Итак, я просто написал скрипт php, который открывает каждый и выполняет preg_replace ().
Мое регулярное выражение (с двойной сбрасываемой обратной косой чертой, да):
$regex = '/<img src="\\/foldera\\/folderb\\/folderc\\/images\\/([^"]*)" \\/>/' $replacement = '<img src="$0" />' ;
Поэтому я только фиксирую что-либо после / изображений до заключительной цитаты.
Но я получаю что-то вроде:
<img src = "<img src =" / foldera / folderb / folderc / images / imgxyz.jpg "/>" />
Кажется, группа захвата чрезмерно усложняется и … или что-то не совпадает с частью / foldera / folderb.
Что здесь происходит?