PHP如何在变量中使用htmltags/entities?

PHP how to use html tags/entities in variable?

我有要在文本区域中显示的内容。在 div 的另一页上。 我从数据库中获得的内容。并用 CKeditor 插入到数据库中。 听起来很简单,对吧?

问题是,当我使用 echo 或 print 时,我得到的是 <b>Some content</b> 而不是 Some content

信不信由你,我已经花了 6 个小时试图解决这个问题。我花在一个问题上的正常金额是多少?通常情况下,我离解决问题至少更近了一步。但是现在我仍然像开始时一样一无所知。

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

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

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

当前输出:

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

但我想要这样:

  • 这是gewijzigd吗?

  • 只需使用 strip_tags() 函数:

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

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

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

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

    编辑:

    试试这个

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

    您可以使用 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>
    

    纯粹的PHP

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

    你可以做几件事来弄清楚

    1) 使用 html_entity_decode 函数解码来自数据库的 html 实体和 return html 输出

    2) 如果上述解决方案不起作用,那么首先尝试使用 html_entity_decode 回显来检查它是否正常工作,如果可以,那么我们需要对编辑器做一些事情这样编辑器就会知道它正在获取原始 html 数据,而不仅仅是纯文本。我还使用了 FCKeditor,我只是把文本和它的工作正常。