Concatenating HTML and PHP to make an image link

2019-06-04 20:46发布

I'm trying to make an image into a link using PHP and HTML. The main idea is to grab user's images and screen names from Twitter, then make the image into a clickable link to their profile by building the URL and adding their screen name on the end. But I get a error message:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in C:\wamp\www\fyp\tweeter3.php on line 71.

This is line 71 (it's part of a foreach loop):

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

There's a syntax error in there I just can't pinpoint. These are my variables:

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

Can you spot the error?

5条回答
姐就是有狂的资本
2楼-- · 2019-06-04 21:07

In my opinion, the simplest and most readable way to do is:

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

There is only one long text, and no concatenation is used. It reduces the possibility to have an error caused by a missing double quote or missing dot. All PHP variables will be replaced automatically by their values.

You could also use printf to have all the variables outside of the string:

<?php printf('<a href = "%s"><img src = "%s" class = "%s"></a>', $url, $userImage, $class); ?>
查看更多
姐就是有狂的资本
3楼-- · 2019-06-04 21:08

Missing . after $url:

<?php echo "<a href = ".$url"><img...
查看更多
Lonely孤独者°
4楼-- · 2019-06-04 21:11

Try this instead:

<?php 
echo "<a href = \"".$url."\"><img src = \"".$userImage."\" class = \"".$class."\"></a>";
?>
查看更多
smile是对你的礼貌
5楼-- · 2019-06-04 21:23

You are missing a dot after $url and the HTML quotes to generate valid code:

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

Without the quotes you get:

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

With the quotes:

 <a href = 'the url'><img src = 'user image' class = 'the class'></a>
查看更多
ゆ 、 Hurt°
6楼-- · 2019-06-04 21:23

after $url you need to have a period.

查看更多
登录 后发表回答