0

我已经建立了一个系统,用户可以通过 CKEditor/KCFinder 通过 textarea 登录并保存头像。它按我希望的方式工作。图像保存在一个文件夹中,它们的路径保存在数据库中。当我尝试在表格中显示图像时出现问题。我不断获得双 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"];,那么结果将如下所示: 在此处输入图像描述

4

1 回答 1

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"]);
于 2014-05-07T08:20:08.383 回答