PHP 破坏图片标签的语法

PHP syntax breaking the image tag

我的实时站点在开发站点(在不同的主机上)上运行良好。

本质上,它是错误地插入图像并在末尾添加字符...示例: https://www.idealhomeloans.com/wp-content/uploads/2016/08/refinance-1.jpg/%3E%20%3Cimg%20src=

应该是:https://www.idealhomeloans.com/wp-content/uploads/2016/08/refinance-1.jpg

这是我用来导入图像的 php 代码...

        <?php if( $image ): ?>


            <?php 
            echo '<img class="'. $imagealigned.'"     src="';the_sub_field('image');
        echo '/>';

             ?>

        <?php endif; ?>

  <?php $image  = get_sub_field('image');
//Checking if anything exists for the image field
if ($image) { ?>
<?php echo '<img src="';// display a sub field value
    the_sub_field('image');
    echo '/>';
    ?>
 <?php } //if there is nothing for image then display
else { ?>
<?php } 
?>

知道 PHP 的人可以看看是否有什么东西可以使图像标签正确进入?

任何指导将不胜感激!

谢谢

也许如果您真的查看了您正在生成的 html,您会发现您正在生成 BAD html:

echo '<img class="'. $imagealigned.'"     src="';the_sub_field('image');
                                              ^---start HTML attribute
echo '/>';
      ^----never end the attribute

所以你正在建造

<img .... src="kittens.jpg>

绕着你的错误旋转木马……

尝试将值放入变量中。

<?php if ($image): ?>
    <img src="<?= $src; ?>" class="<?= $class; ?>" />
<?php endif; ?>

保留 html 的格式和标签更容易,您也可以减少困惑。另外我觉得它更干净。

您使用分号 (;) 而不是点 (.) 来连接 the_sub_field