0

こんにちは、ウェブサイトに Code Igniter Framework を使用しています。

これは技術記事の Web サイトで、さまざまな言語の記事を追加しています。

その中で、たとえばコードとともに記事を保存すると、データベースに適切に挿入されました。

<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 に答える