如何在PHP中echo输出可点击的URL链接?
PHP中输出可点击URL链接的实现方案
以下两种方案适配你当前使用的CodeIgniter技术栈,可按需选择:
方案1:固定字段存储纯URL,直接输出链接
如果对应字段(比如位置、官网字段)存储的是完整的URL内容,直接包裹HTML a标签,或者调用CI自带的anchor函数输出即可:
原生HTML写法示例
将对应字段的输出代码替换为如下格式,加target="_blank"可实现点击后新窗口打开:
<tr> <td>Lokasi Shelter</td> <td><strong></strong><a href="<?php echo $slt->lokasi_shelter?>" target="_blank"><?php echo $slt->lokasi_shelter?></a></td> </tr>
CodeIgniter anchor函数写法示例
和你现有代码里的返回按钮写法一致:
<tr> <td>Lokasi Shelter</td> <td><strong></strong><?php echo anchor($slt->lokasi_shelter, $slt->lokasi_shelter, 'target="_blank"')?></td> </tr>
注意:如果你的URL存储时没有带http/https前缀,需要在href属性前手动补全,否则会被识别为站内相对路径导致跳转错误,示例:href="https://<?php echo $slt->lokasi_shelter?>"
方案2:字段混合普通文本与URL,自动识别转换链接
如果字段(比如描述字段)内同时有普通文本和URL链接,需要自动识别所有URL转为可点击链接,可先封装一个公共辅助函数:
function autoLink($text) { $urlPattern = '/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}(\/\S*)?/'; return preg_replace_callback($urlPattern, function($matches) { return '<a href="'.$matches[0].'" target="_blank">'.$matches[0].'</a>'; }, $text); }
输出字段时调用函数即可:
<?php echo autoLink($slt->deskripsi)?>
内容的提问来源于stack exchange,提问作者Steven Wen-Wen
相关产品推荐
相关产品推荐

