我确信这是一个非常简单明了的答案,但是我的脑子很油腻,我似乎无法得到它.我有一个PHP站点,允许用户将信息发布到MysqL中的文本字段.这些帖子都可以在线查看.在发布/编辑模式下,该字段是HTML表单中的textarea,在读取模式下是静态文本.用户希望能够在他们的帖子中包含一个URL并将其显示为可点击的链接,而不必在该字段中包含HTML(我不希望他们能够做到这一点 – 风险太大.)所以这是在显示数据时需要完成的事情,而不是在将文本保存到数据库时将html插入到文本中.
$query = "SELECT * FROM meetings where id=".$_GET['id'];
$result = MysqLi_query($dbc, $query) or die('Error querying database');
$rows = MysqLi_fetch_array($result);
echo "<p><div id=\"articleBody\">". $rows['body']. "</div></p>";
是否有一个函数我可以放在$rows [‘body’]周围,它会显示任何以http开头的可点击链接?请记住,变量实际上可能包含或不包含URL.
解决方法:
使用preg_replace来完成此任务:
$html = preg_replace('"\b(http://\S+)"', '<a href="$1">$1</a>', $rows['body'])
echo "<p><div id=\"articleBody\">".$html."</div></p>";