1

我正在尝试使用 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;

你能发现错误吗?

4

6 回答 6

3

.后失踪$url

<?php echo "<a href = ".$url"><img...
于 2013-03-19T00:29:55.723 回答
3

您在 $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>
于 2013-03-19T00:30:03.850 回答
2

在 $url 之后,您需要有一个句点。

于 2013-03-19T00:30:07.347 回答
1

试试这个:

<?php 
echo "<a href = \"".$url."\"><img src = \"".$userImage."\" class = \"".$class."\"></a>";
?>
于 2013-03-19T00:31:15.080 回答
1

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

<?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); ?>
于 2013-04-17T16:03:19.147 回答
0

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

<?php echo "<a href = '".filter_var($url, FILTER_SANITIZE_STRING)."'
于 2020-01-31T03:48:05.587 回答