неправильный <img src="<? конструкция php?

#php #html

#php #HTML

Вопрос:

Я повторяю некоторые изображения, используя <div> <img src="<?php... конструкцию.

Изображения показаны, но после каждого изображения всегда остается несколько строк из моего кода.

часть моего кода находится здесь:

  1. получение изображения с помощью:

      $image01= wp_get_attachment_image(get_post_meta($id, 'image_case_01', true),'full');
      
  2. и повторяющееся изображение в <div>

      <div class="images-container">
         <div>           
             <img src="<?php echo $image01; ?>" >        
         </div>
     </div>
      
  3. Результат — изображение отображается правильно, но после изображения у меня остается эта строка из моего кода

      > " >
      
  4. Если я использую

      <div class="images-container">
         <div>           
             <img src="/.../.../xxx.jpg" />          
         </div>
     </div>
      

тогда все в порядке.

Что не так с моим кодом в 2. ?

Комментарии:

1. Если я запущу вашу версию 2. она работает просто отлично, значит, мешает что-то еще, чего вы не видите и не показываете нам

2. Возможно, если вы посмотрите на содержимое $image01 с помощью var_dump($image01); , вы можете увидеть что-то

3. Привет, я проверяю это с помощью var_dump. Результат — строка (1087) «САМО ИЗОБРАЖЕНИЕ» … я имею в виду «строку (1087)» и ИЗОБРАЖЕНИЕ, заключенное в двойные кавычки.

4. если я просто выполняю «echo $ image01;» во фрагменте — тогда это работает как ожидалось — показывает изображение без чего-либо еще.

5. Я предложил var_dump() , потому что при ее использовании вы получаете больше информации о переменной.

Ответ №1:

не могли бы вы попробовать это?

 <div class="images-container">
    <div>  <?php echo '<img src="'.$image01.'"/>'; ?>       </div>
 </div>
  

у вас, вероятно, проблема с кавычками, я удивлен, что изображение действительно появилось, поскольку ваш php-код находится внутри ‘»‘

РЕДАКТИРОВАТЬ: какая-то ошибка

ПРАВКА2: мой плохой

итак, я сделал это, и это сработало

 <html lang="en">
<?php $image01="erreur.png";?>
<head>
    <body>  
        <div>  
            <?php echo "<img src=".$image01."></img>"; ?>       
       </div>
   </head>
</body>
  

Комментарии:

1. На самом деле это ни на йоту не изменило результирующий результат

2. итак, моя ошибка, похоже, нам пришлось быть более осторожными, если мы заключили переменную в кавычки внутри переменной. Надеюсь, у вас это сработает 🙂

3. если я присвою переменной файл изображения (как вы это сделали). Тогда это работает, и результат ясен. Проблема в том, что мне нужно динамически получать изображение из метаполя post.

4. <img> Является самозакрывающимся тегом. Немного странно добавлять закрывающий тег после него 🤔

5. Спасибо, Xiko, я попробую это через несколько часов.

Ответ №2:

Я нашел решение для себя. Вместо использования
wp_get_attachment_image
я использовал
wp_get_attachment_image_src
Теперь все работает, как ожидалось. Я все еще не понимаю, почему у меня были такие кавычки вокруг моих изображений, которые, вероятно, приводят к моим проблемам. Может быть, это потому, что я получаю изображения из метабокса meatfield. Спасибо за вашу поддержку.

Комментарии:

1. Потому что версия, которая не заканчивается на src, возвращает весь тег img, в то время как версия src — это только та часть, которая входит в атрибут src. В любом случае, так сказано в документах.