0

嗨,我正在为网站使用 Code Igniter 框架,

这是一个技术文章网站,我正在添加不同语言的文章。

在那里,当我将文章与代码一起保存时,例如它已正确插入数据库中。

<pre class="prettyprint" id="html">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
<head>
    <meta name="copyright" content="Atos Origin" />
    <title>Select Option Demo Using Tapestry</title>    
</head>
<body>
    <h1>Payment Card Demo</h1>              
    <form t:type="form" t:id="cardForm" id="cardForm" method="post">
        <t:label for="cardTypes"/>
        <t:select t:id="cardTypes"/>
    </form>
</body>
</html>
</pre>

但是当我从数据库中检索它进行编辑时,它会转换为实际代码。

<pre class="prettyprint" id="html">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
<head>
    <meta name="copyright" content="Atos Origin" />
    <title>Select Option Demo Using Tapestry</title>    
</head>
<body>
    <h1>Payment Card Demo</h1>              
    <form t:type="form" t:id="cardForm" id="cardForm" method="post">
        <t:label for="cardTypes"/>
        <t:select t:id="cardTypes"/>
    </form>
</body>
</html>
</pre>

但是不想要这样的转换,那么有什么解决办法吗?

4

1 回答 1

2

有一个 PHP 解决方案:

要将 HTML 编码为等效字符,请使用:

string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )

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

要解码为 html,请使用:

string html_entity_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' ]] )

建议:

插入数据库时​​,我不会将 html 编码为特殊字符,只有在使用上面指定的函数将其拉出时。

于 2012-09-01T05:33:31.160 回答