您好我正在使用Code Igniter Framework进行网站
这是一个技术文章网站,我正在添加不同语言的文章。
当我将文章与代码一起保存时,例如它正确插入数据库中。
<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>
但是不想要这样的转换,那么有什么解决方案吗?
答案 0 :(得分: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编码为特殊字符,只有在使用上面指定的函数将其拉出时才会编码。