为什么PHP回显在`background-image:ulr()`总是得到一个转义字符?

时间:2018-04-30 11:35:38

标签: php html wordpress

我的代码总是遇到这个问题:

<?php
  $imgurl = "https://cdn.jsdelivr.net/example.png";
  $get_style = 'background-image: url(\''.$imgurl.'\'); ';
?>
<figure id="centerbg" class="centerbg" style="<?php echo $get_style; ?>background-position: center center;background-attachment: inherit;">

但无论我做什么,html总是显示:

<figure id="centerbg" class="centerbg" style="background-image: url(&quot;https://cdn.jsdelivr.net/example.png&quot;); background-position: center center; background-attachment: inherit;">

我也尝试过:

<figure id="centerbg" class="centerbg" style="background-image: url(<?php echo $imgurl ?>);background-position: center center;background-attachment: inherit;">

但完全没用!

任何人都可以帮助我吗? TAT

感谢您的帮助,但似乎我和您的代码在这个单独的文件中都可以正常运行:https://api.mashiro.top/cover/test.php,但始终在我的生产网站中获取转义字符(与封面图像相同的HTML ID):{ {3}},真的很奇怪,可能是我网站上其他部分出错的可能性吗?

我不知道为什么style="background-image: url(&quot;https://cdn.jsdelivr.net/example.jpg&quot;);"可以在我的浏览器中显示图像(Chrome和Firefox),但这不是一个好表达吗?

4 个答案:

答案 0 :(得分:1)

您可以针对这种情况混合使用double-quotessingle-quotes

<?php
  $imgurl = "https://cdn.jsdelivr.net/example.png";
  $get_style = "background-image: url('".$imgurl."'); "; 
?>
<figure id="centerbg" class="centerbg" style="<?php echo $get_style; ?>background-position: center center;background-attachment: inherit;">

答案 1 :(得分:1)

您也可以删除$get_style变量上的单引号。

<?php
  $imgurl = "https://cdn.jsdelivr.net/example.png";
  $get_style = 'background-image: url('.$imgurl.');';
?>
<figure id="centerbg" class="centerbg" style="<?php echo $get_style; ?>background-position: center center;background-attachment: inherit;height:100%;">

您的网站似乎正在使用WordPress,因此link也可以为您提供帮助。

答案 2 :(得分:0)

就是我们这个。

<?php 
   $imgurl = "https://cdn.jsdelivr.net/example.png";
   $get_style = "background-image: url('".$imgurl."');";
?>

如果您仍面临同样的问题,也可以查看http://php.net/manual/en/function.htmlspecialchars-decode.php

答案 3 :(得分:0)

尝试这一点 - 我使用这种方法没有问题。

<?php $imgurl = 'https://cdn.jsdelivr.net/example.png'; ?>

<figure id="centerbg" class="centerbg" style="background-image: url('<?php echo $imgurl; ?>'); background-position: center center; background-attachment: inherit;">