如何使HTML不在特定的div中呈现?

时间:2013-05-17 06:39:58

标签: php html tags

我正在创建一个迷你社交网络类型的网站,人们可以在php页面上提交问题/聊天内容,将数据添加到数据库,然后从数据库获取所有数据并将其放入自己的数据库中页面上的div,显示所有评论。唯一的问题是,人们提交的标签会弄乱页面,我想知道是否有办法禁用<>特定div中的标签?以下是该部分的代码区域:

    $q=mysql_query("SELECT * FROM posts WHERE user='$u' ORDER BY date DESC");
    ?>
    <div class="posts">
    <?php 
    if(mysql_num_rows($q)<1)
    {
    echo "{$u} has not submitted any updates yet.";
    } else {
    while($row=mysql_fetch_array($q))
    {
    $com=$row['post'];
    ?>
    <div class="comment">
    <p><?php echo $com; ?></p>
            <div class="user_post">

                <a href="/user.php?u=<?php echo $u; ?>" class="usersname"><p class="comtext"><?php echo $u; ?></p><img src="/user/Coby/background.png" style="display:block; width:50px; margin-top:-20px; height: auto !important;  background-image: url('<?php echo $avatar; ?>'); background-size: cover;" ></img></a></div>
    </div>
    <?php
    }
    }
    if($isOwner=="yes") { ?>
    <form action="post.php" method="post">
    <input type="hidden" name="user" value="<?php echo $u; ?>" />
    <textarea placeholder="Write on your Corner!" name="comment"></textarea>
    <input type="submit" value="Post!" name="submit" />
    </form>
    <?php } ?>
    </div>

    </div>

3 个答案:

答案 0 :(得分:0)

while($row=mysql_fetch_array($q))
    {
    $com = htmlspecialchars($row['post']);
    ?>

答案 1 :(得分:0)

最好的方法是:

$com = htmlspecialchars($row['post'], ENT_QUOTES, 'UTF-8');

以下是Documentation

的链接

答案 2 :(得分:-1)

您要过滤&lt;&gt;当他们输入它们,或者你在渲染时过滤它们(例如用jQuery)。或者你逃脱了他们。