PHP如何在变量中使用html标签/实体?

时间:2015-10-05 11:22:22

标签: php html tags

我有想要在textarea中显示的内容。并在div的另一页上。 我从我的数据库中获得的内容。并与CKeditor一起插入数据库。 听起来很简单吧?

问题在于,当我使用echo或print时,我得到<b>Some content</b>而不是某些内容

信不信由你花了6个小时试图解决这个问题。我花在问题上的正常金额是多少。通常情况下,我至少要靠近一步解决问题。但是现在我仍然像我开始时一样无能为力。

是的,我正在使用:<meta charset="utf-8">

我的代码(只是一个基本的回声,因为我不知道该怎么做)

<textarea ><?php echo $content; ?></textarea>

当前输出:

<li><s><em><strong><span class="marker">Dit is gewijzigd?</span></strong>

但我想这样:

  • Dit是gewijzigd?

  • 4 个答案:

    答案 0 :(得分:0)

    只需使用strip_tags()函数:

    <textarea ><?php echo strip_tags($content); ?></textarea>
    

    文档:http://php.net/manual/fr/function.strip-tags.php

    答案 1 :(得分:0)

    您可以尝试这样做以使内容可编辑

    <div contenteditable><?php echo $content; ?></div>
    

    编辑:

    试试这个

    <div><?php echo htmlspecialchars_decode($content); ?></div>
    

    答案 2 :(得分:0)

    您可以使用js执行此操作 - 您需要两次解码,因为您在db中显示原始数据。

    <textarea id='t'></textarea>
    <script>
    function getHTML(code)
    {
    var para = document.createElement("DIV");
    para.innerHTML=code;
    //return $(para).text(); 
     return para.innerText; 
    }
    document.getElementById('t').innerHTML=getHTML('<?php echo $content; ?>');
    </script>
    

    PURE PHP

    <textarea id='t'><?php echo html_entity_decode(html_entity_decode($content));?></textarea>
    

    答案 3 :(得分:0)

    你可以做几件事来弄明白

    1)使用html_entity_decode函数,该函数将解码来自数据库的html实体并返回html输出

    2)如果上述解决方案不起作用,那么使用第一次尝试与html_entity_decode进行回应以检查它是否正常工作如果确实如此,那么我们需要对编辑器进行一些操作,以便编辑器会知道它正在获取原始html数据而不仅仅是纯文本。我也使用FCKeditor,我只是简单地把文本和它的工作正常。