Я пытаюсь сделать изображение в ссылку, используя PHP и HTML. Основная идея состоит в том, чтобы захватить изображения пользователя и имена экранов из Twitter, а затем сделать изображение в интерактивную ссылку на свой профиль, создав URL-адрес и добавив свое имя экрана в конце. Но я получаю сообщение об ошибке:
Ошибка анализа: синтаксическая ошибка, неожиданный T_CONSTANT_ENCAPSED_STRING, ожидающий ',' или ';' в C: \ wamp \ www \ fyp \ tweeter3.php в строке 71.
Это строка 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 и котировок 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>
Отсутствует .
после $url
:
<?php echo "<a href = ".$url"><img...
после $ url у вас должен быть период.
Попробуйте это вместо этого:
<?php echo "<a href = \"".$url."\"><img src = \"".$userImage."\" class = \"".$class."\"></a>"; ?>
На мой взгляд, самый простой и понятный способ:
<?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); ?>