【问题标题】:Concatenating HTML and PHP to make an image link连接 HTML 和 PHP 以创建图像链接
【发布时间】:2013-03-07 12:49:27
【问题描述】:

我正在尝试使用 PHP 和 HTML 将图像制作成链接。主要思想是从 Twitter 中获取用户的图像和网名,然后通过构建 URL 并在末尾添加他们的网名,将图像变成他们个人资料的可点击链接。但我收到一条错误消息:

解析错误:语法错误,意外的 T_CONSTANT_ENCAPSED_STRING,需要 ',' 或 ';'在第 71 行的 C:\wamp\www\fyp\tweeter3.php 中。

这是第 71 行(它是 foreach 循环的一部分):

<?php echo "<a href = ".$url"><img src = ".$userImage." class = ".$class."></a>"; ?>

那里有一个语法错误,我无法查明。 这些是我的变量:

$userScreenName = $user -> screen_name;
$userImage = $user -> profile_image_url;
$class = "myImgClass";
$url = "https://twitter.com/".$userScreenName;

你能发现错误吗?

【问题讨论】:

  • 您在$url 之后缺少一个句号。
  • 你忘了点和一些引号&lt;?php echo "&lt;a href =\"".$url."\"&gt;&lt;img src =\"".$userImage."\" class=\"".$class."\"&gt;&lt;/a&gt;"; ?&gt;
  • 我添加了点,它现在可以工作了。知道这会很简单!谢谢大家
  • 你只需要在$url后面加一个点。
  • @Tiffany 不要忘记 HTML 引号 :)

标签: php html url twitter


【解决方案1】:

$url 之后缺少.

<?php echo "<a href = ".$url"><img...

【讨论】:

    【解决方案2】:

    您在 $url 和 HTML 引号后缺少一个点以生成有效代码:

    <?php echo "<a href = '".$url."'><img src = '".$userImage."' class = '".$class."'></a>"; ?>
    

    没有你得到的引号:

    <a href = the url><img src = user image class = the class></a>
    

    带引号:

     <a href = 'the url'><img src = 'user image' class = 'the class'></a>
    

    【讨论】:

      【解决方案3】:

      在 $url 之后你需要有一个句号。

      【讨论】:

        【解决方案4】:

        试试这个:

        <?php 
        echo "<a href = \"".$url."\"><img src = \"".$userImage."\" class = \"".$class."\"></a>";
        ?>
        

        【讨论】:

          【解决方案5】:

          在我看来,最简单、最易读的方法是:

          <?php echo "<a href = '$url'><img src = '$userImage' class = '$class'></a>"; ?>
          

          只有一个长文本,没有使用连接。它减少了因缺少双引号或缺少点而导致错误的可能性。所有 PHP 变量都会被它们的值自动替换。

          您也可以使用printf 将所有变量放在字符串之外:

          <?php printf('<a href = "%s"><img src = "%s" class = "%s"></a>', $url, $userImage, $class); ?>
          

          【讨论】:

            【解决方案6】:

            将 html 字符串与 php 变量连接起来不是一个好习惯。这导致可能的注入向量(XSS)。 为避免可能的 XSS(DOM 或 STORED),请将变量过滤为字符串。特别是如果该值来自用户输入。 例如。

            <?php echo "<a href = '".filter_var($url, FILTER_SANITIZE_STRING)."'
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2013-10-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-04-02
              • 2019-09-26
              相关资源
              最近更新 更多