Php href link echos站点url中数据库中的数据
使用codeigniter中的foreach循环,我试图在href html标记中显示数据库中的网站链接,但它会回显siteurl,而不是链接到网站链接Php href link echos站点url中数据库中的数据,php,codeigniter,Php,Codeigniter,使用codeigniter中的foreach循环,我试图在href html标记中显示数据库中的网站链接,但它会回显siteurl,而不是链接到网站链接 <?php foreach ($as as $a): { <li> <strong>Web</strong> <a href="<?php echo $a['website']; ?>" target="_blank" rel="nowfollow"><? p
<?php foreach ($as as $a): {
<li>
<strong>Web</strong>
<a href="<?php echo $a['website']; ?>" target="_blank" rel="nowfollow"><?
php echo $a['website']; ?></a></div>
</li>
<?php }endforeach; ?>
例如,www.instagram.com位于数据库中,它将与此链接类似
localhost/site/view/www.instagram.com/p/BgHH1TyDqvp/
我注意到,如果协议(http或https)不在外部链接的前端,那么它会将其作为相对路径处理。如果我知道数据库中有可能存在外部链接,我将检查协议并在需要时添加它
更新代码
<?php foreach($as as $a) :
// Check if we have the protocol
$pro = (substr($a['website'], 0, 4) != 'http' ? 'https://' : '');
?>
<li>
<strong>Web</strong>
<a href="<?= $pro . $a['website'] ?>" target="_blank" rel="nofollow">
<?= $a['website'] ?>
</a>
</li>
<?php endforeach; ?>
Web
这是基于内存的,没有测试这个特定的代码块
我并不认为这是处理这个问题的最佳方式,但在过去对我很有效。是的,你的PHP语法完全错误。噢,哇,谢谢你的有用评论。这就解决了问题。在这里,这也是MVC而不是普通的php,所以我希望我的语法看起来不正确。也许你错过了最高层的那部分。是的,不管怎样,这仍然是错误的。您不能让foreach开始转储普通HTML。用回音标签把它包起来。另外,在声明foreach之后,不应该有一个
:
。即使回显html标记并连接变量,url仍然会继续使用站点url作为第一个本地主机/站点/视图的链接。无论如何,谢谢。谢谢你,我仍然在使用MVC环境,通过在数据库链接前面对接https://解决了这个问题。尚未尝试您的代码,但谢谢。