1

我在我的 Intranet 中使用 ckeditor。我用它来保存格式化的文本,例如链接。

问题是,我在 ckeditor 源中拥有的​​是

<p>
this is the new <a href="http://www.google.com">test</a> we need to run.</p>

我在编辑器中看到的是

test(as a link)

保存在数据库中的是

 &lt;p&gt;
    this is the new &lt;a href="http://www.google.com"&gt;test&lt;/a&gt; we need to run.&lt;/p&gt;

哪个是对的。

但是当我想在ckeditor上编辑它时,我看到的是

<p> <a href="http://www.google.com">test</a></p>

我看到的来源是

&lt;p&gt;
        &lt;a href="http://www.google.com"&gt;test&lt;/a&gt;&lt;/p&gt;

我希望在编辑时看到完全相同的内容。

另一件事是,我使用 Html.Raw 在我的索引中显示它,但它向我显示了 html。我想看看渲染的 html。

所以,如果我保存

<p>
    this is the new <a href="http://www.google.com">test</a> we need to run.</p>

我想看看

this is the new test(as link) we need to run

并不是

<p>
        this is the new <a href="http://www.google.com">test</a> we need to run.</p>

有任何想法吗??瑞马丁斯

4

2 回答 2

0

您的问题是不了解 htmlentities。

编码 HTML

http://php.net/manual/en/function.htmlentities.php

解码 HTML

http://www.php.net/manual/en/function.html-entity-decode.php

示例用法

<?php

   $orig = "I'll \"walk\" the <b>dog</b> now";

   $a = htmlentities($orig);
   $b = html_entity_decode($a);

   echo $a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now
   echo $b; // I'll "walk" the <b>dog</b> now

?>

编辑(添加 asp.net 等效项)

Server.HtmlEncode("<your string>");

Server.HtmlDecode("&lt;your string&gt;");
于 2012-11-13T15:48:17.000 回答
0

试试这个代码:

<%: Html.Raw(HttpUtility.HtmlDecode(YourHTMLStringHere)) %>

它只会渲染 HTML 代码

于 2015-02-03T08:19:21.483 回答