Str_replace url не работает

Я пытаюсь изменить URL-адрес изображения через str_replace в моем шаблоне Wordpress, но это не работает.

Вот код:

$featured_img = get_the_post_thumbnail_url(get_the_ID(),'full');

$featured_img_url = str_replace("http://www.mydomain.it/",
                                "https://newdomain.it/mysite/", 
                                $featured_img );

<div style = "width: 100%; 
            height: 100%; 
            background: url('<?php echo $featured_img_url; ?>') #fff top center; 
            background-size: cover; 
            border-radius: 1%; 
            min-height: 200px;"></div>

Фон div продолжает повторять исходный URL.

Я уже пробовал использовать как одинарные, так и двойные кавычки. Что я делаю неправильно?

Обновлено: если это может быть полезно, этот код работает внутри цикла Wordpress.

Обновлено: вот что я получаю, когда использую var_dump на $featured_img:

string(105) "http://www.staging1.serialfreaks.it/wp-content/uploads/2017/08/Game-Of-Thrones-7x07-The-Dragon-and-The-Wolf-11.png"

А вот полный цикл с правильными URL-адресами:

<?php if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); 

$featured_img = get_the_post_thumbnail_url(get_the_ID(),'full');

$featured_img_url = str_replace('http://www.staging1.serialfreaks.it/','https://s3.eu-central-1.amazonaws.com/serialfreaks/', $featured_img );

?>

<div class = "row" style = "padding-bottom: 20px;">
    <div class = "col-md-5">
        <div style = "width: 100%;
                    height: 100%;
                    background: url('<?php echo $featured_img_url; ?>') #fff top center;
                    background-size: cover;
                    border-radius: 1%;
                    min-height: 200px;">
        </div>

    ...

Спасибо вам всем :)

В чем ценность $featured_img?

BenM 19.07.2018 17:46

не могли бы вы повторить $featured_img и сообщить нам его ценность

Always Sunny 19.07.2018 17:46

это полный URL-адрес изображения, например http://www.mydomain.it/uploads/file.jpg

andreilsero 19.07.2018 17:48

Тогда $featured_img - это не то, что вы думаете. Где отладка var_dump()?

mario 19.07.2018 17:52

Добавьте точные URL-адреса, включая $featured_img и другие URL-адреса. Мы ничего не будем делать с вашим сайтом! Может кодировки разные!

Mobin F.R.G 19.07.2018 17:53

Вероятно, что-то происходит между вашим str_replace() и HTML-кодом, который вы показываете. Было бы полезно увидеть полный цикл, о котором вы упомянули.

Patrick Q 19.07.2018 17:56

Я только что отредактировал свой вопрос с помощью var_dump из $featured_img и полного цикла

andreilsero 19.07.2018 22:47
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
7
468
2

Ответы 2

Пытаться :

$featured_img_url = substr_replace("http://www.mydomain.it/", 
                                   "http://www.mydomain.it/".$featured_img, 23 );

Сообщите мне, что вы получите.

Я думаю, что что-то очень неправильный с вашим значением $feature_img. Когда я запустил ваш код, он показывает, что от него ожидается. Отладить можно через var_dump($featured_img). В вашем URL-адресе могут быть ненужные символы или нежелательное пространство. См. ДЕМО, когда я пытаюсь использовать ваш опубликованный пример URL-адреса $feature_img: https://eval.in/1039310

<?php
$featured_img = 'http://www.mydomain.it/uploads/file.jpg';
echo "Before Replace=$featured_img\n";
$featured_img_url = str_replace("http://www.mydomain.it/","https://newdomain.it/mysite/", $featured_img );
echo  "After Replace=$featured_img_url\n\n";
?>
<div style = "width: 100%; 
            height: 100%; 
            background: url('<?php echo $featured_img_url; ?>') #fff top center; 
            background-size: cover; 
            border-radius: 1%; 
            min-height: 200px;"></div> 

Программный вывод

Before Replace=http://www.mydomain.it/uploads/file.jpg
After Replace=https://newdomain.it/mysite/uploads/file.jpg

<div style = "width: 100%; 
            height: 100%; 
            background: url('https://newdomain.it/mysite/uploads/file.jpg') #fff top center; 
            background-size: cover; 
            border-radius: 1%; 
            min-height: 200px;"></div>

Другие вопросы по теме