Можно ли сделать str_replace или preg_replace для встроенного стиля? Я пробовал разные варианты с небольшим количеством удачи, и я не уверен, что мне не хватает.
У меня есть тег на странице с кучей CSS, многие из которых содержат классы с относительными фоновыми путями, например:
background: url("/wcsstore/comp/en_GB/header.jpg") no-repeat; background-position: center center; height: 200px; max-width: 1200px; margin: 0 auto 40px;
Я пытаюсь заменить этот путь на абсолютный путь следующим кодом, но, похоже, не могу настроить таргетинг на CSS на странице.
$replaceThis = 'url(\"/wcsstore/"';
str_replace('/wcsstore/', 'http://****.com/nimrod/wcsstore/', $replaceThis);
Благодарю.
П.С. В этом случае я не могу ориентироваться на отдельные занятия. Это фрагмент, включенный в шаблон заголовка, который будет выполнен на более чем 1000 страницах.
Вы забыли присвоить новое значение переменной:
$css ='background: url("/wcsstore/comp/en_GB/header.jpg") no-repeat; background-position: center center; height: 200px; max-width: 1200px; margin: 0 auto 40px;';
$css = str_replace('/wcsstore/', 'http://****.com/nimrod/wcsstore/', $css);
echo "$css\n";
Выход:
background: url("http://****.com/nimrod/wcsstore/comp/en_GB/header.jpg") no-repeat; background-position: center center; height: 200px; max-width: 1200px; margin: 0 auto 40px;
Других решений пока нет …