我建立了一个系统,用户通过textarea登录并通过CKEditor / KCFinder保存头像。它的工作原理我希望它能够工作。图像保存在文件夹中,并保存在数据库中的路径中。当我尝试在表格中显示图像时出现问题。我继续得到双html标签,我无法找到逃脱它们的方法,以便我得到我需要显示图像。
以下是脚本: linklabel是保存头像路径的行的名称
<?php
require_once "../scripts/conector.php";
if (!$_GET['pid']) {
$pageid = '1';
} else {
$pageid = preg_replace('/[^0-9]/', "", $_GET['pid']); // filter everything but numbers for security
}
$sqlCommand = "SELECT id, linklabel FROM pages WHERE showing='1' ORDER BY id ASC";
$query = mysqli_query($myConnection, $sqlCommand) or die('Error: ' . mysqli_error($myConnection));
$listadeavatars = '';
while ($row = mysqli_fetch_array($query)) {
$pid = $row["id"];
$avatar = "<img src='" . $row["linklabel"] . "' height='160' width='160'/>";
$listadeavatars .= '<tr>
<td>' . $avatar . '</td>
<td>' . $pid . '</td>
</tr>';
}
mysqli_free_result($query);
?>
当我检查HTML时,这是HTML输出:
<img width="160" height="160" src="<img alt="" src="/nysida/admin/kcfinder/upload/images/avatar/avatar.jpg" style="height:160px; width:160px" />">
如何摆脱双重HTML才能显示图像?
更新
如果我只使用$avatar = $row["linklabel"];
,那么结果将如下所示:
答案 0 :(得分:1)
似乎$row["linklabel"]
已包含整个<img>
标记,只需更改
$avatar = "<img src='" . $row["linklabel"] . "' height='160' width='160'/>";
到
$avatar = $row["linklabel"];
<强>更新强>
如果您在网页中看到了实际的标记,则还需要使用html_entity_decode()
解码图片代码,如下所示:
$avatar = html_entity_decode($row["linklabel"]);