Я пытаюсь найти способ найти все изображения на странице и изменить их источник по мере необходимости. Вот то, что я до сих пор:синтаксис preg_replace (img src)
add_filter('the_content','wpdu_image_replace');
function wpdu_image_replace($content) {
$upload_dir = wp_upload_dir();
$pattern = '/<img.*src="(.*?)".*?>/';
$replacement = wpdu_base64_encode_image($upload_dir['path'].'/'.\1);
return preg_replace($pattern, $replacement , $content);
}
У меня три проблемы, хотя:
- Я, начиная от с «Src» метку, используя относительный путь на сервере - но нет проверьте, если:
- изображение действительно существует на сервере
- Если изображение действительно является URL данный родственник или не
- Неверная переменная
$replacement
(я не уверен, как вывести то, что только в теге src) - Я бы не стал объявлять тег
<img>
на замену, потому что тогда я потерял бы все другое, что окружало его (например, классы, идентификаторы и т. д.).
Кто-нибудь знает, как захватить только источник изображений и заменить его в моде, который я описываю? Я смотрел на Simple HTML DOM в качестве альтернативы, но получал ужасные результаты. Любая помощь будет принята с благодарностью. Благодаря!
Как это сделать, когда несколько '' существует в html и хочет заменить его другим источником.? – Dhara
в preg_replace параметр replace может быть массивом – Alex