【问题标题】:How to correctly write <img src> in php without escaping to HTML如何在不转义到 HTML 的情况下在 php 中正确编写 <img src>
【发布时间】:2014-10-08 14:24:39
【问题描述】:

我的 PHP 代码有问题。我已经更改了所有内容 6 个小时,但无论我做什么,我仍然会遇到 Parse 错误。这是代码:

$slider3 = '<img src="'templates/' . $this->template . '/images/slider/slider3.jpg'">' . '" alt="' . $sitename . '" />';

我想不让它抛出错误的唯一方法是这样写:

$slider3 =  '<img src="templates/" . $this->template . "/images/slider/slider3.jpg" .  "/>"';

但我认为这是不对的。

我想要 $slider3 = "templates/MYTEMPLATE/images/slider/slider3.jpg" 然后我会回显 $slider3;

我对所有的单引号和双引号感到困惑。我认为第一个是正确的 - 我看着它并研究它,它看起来对我来说是正确的。但它会引发解析错误。

【问题讨论】:

  • 一般来说,'' 被认为是一个字符数组,而 "" 被认为是一个字符串,虽然字符串是一个字符数组,但这在php(它是其他编程语言)。所以在 PHP 中,一个字符串可以包含 ',而一个字符数组可以包含“如果你想在字符串中使用”,你总是可以通过编写类似 $var = "\""; // output => " 的东西来转义它。
  • 如果您的问题已得到解答,请接受答案

标签: php image joomla src


【解决方案1】:
$slider3 = '<img src="templates/'.$this->template.'/images/slider/slider3.jpg"/>';

应该可以。

解释:

'<img src="templates/'

是一个单引号字符串,恰好包含一个双引号(对于 html src 属性或任何其他 html 属性值确实需要它)

.

(dot) 是字符串连接运算符。它将第一个字符串与...连接(“粘合”)...

$this->template

这大概是一个包含模板名称的字符串(从您的代码示例中不清楚)。请注意,如果 $this->template 来自用户输入或其他未经验证的源,则它可以用于跨站点脚本,例如。如果它包含 ">

.

另一个与...的串联

'/images/slider/slider3.jpg"/>'

这是另一个单引号字符串,恰好包含双引号,结束 src 属性值。

【讨论】:

  • 非常感谢。这对我帮助很大。真的。我在 Joomla 中使用它,所以 $this->template 只是从 Joomla 获取模板的文件夹名称。
【解决方案2】:

试试这个:

$slider3 =  '<img src="templates/"' . $this->template . '"/images/slider/slider3.jpg"/>';

【讨论】:

    【解决方案3】:
    $template = "MYTEMPLATE";
    $slider3 =  '<img src="templates/'.$template.'/images/slider/slider3.jpg"/>';
    echo $slider3;
    

    会回显->

    <img src="templates/MYTEMPLATE/images/slider/slider3.jpg"/>
    

    【讨论】:

      【解决方案4】:

      只写:

      <?php
      $templates = "var";
      echo  "<img src='templates/${templates}/images/slider/slider3.jpg'/>";
      

      这会导致

      <img src='templates/var/images/slider/slider3.jpg'/>
      

      【讨论】:

        猜你喜欢
        • 2016-09-19
        • 2014-05-27
        • 2021-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-01
        相关资源
        最近更新 更多