0

PHPを使用して、フォーマットされた文字列をデータベースに保存しています。そして、その文字列を HTML テーブルの td に表示します。私のサンプルテキストは次のようなものです-

<font color="#0033CC"><b>water </b>releasing<i> H<sub>3</sub>O<sup>+</sup></i> ions; </font>

td で表示する場合、書式設定されたテキストではなく、この生データを表示するだけです。ブラウザでソースを表示したところ、以下のデータが見つかりました。

<td>&lt;font color=&quot;#0033CC&quot;&gt;&lt;b&gt;water &lt;/b&gt;releasing&lt;i&gt; H&lt;sub&gt;3&lt;/sub&gt;O&lt;sup&gt;+&lt;/sup&gt;&lt;/i&gt; ions; &lt;/font&gt;</td>`

つまり、" は次のように置き換えられ&quot;ます > は次&gt;のように置き換えられます。

このシナリオを回避し、書式設定されたテキストを表示するためのアプローチが PHP に組み込まれていますか?

前もって感謝します!

4

3 に答える 3

0

html_entity_decode()を使用できます。

<?php
$orig = 'J\'ai "sorti" le <strong>chien</strong> tout à l\'heure';
$a = htmlentities($orig);
$b = html_entity_decode($a);

echo $a; // J'ai &quot;sorti&quot; le &lt;strong&gt;chien&lt;/strong&gt; tout &amp;agrave; l'heure
echo $b; // J'ai "sorti" le <strong>chien</strong> tout à l'heure

?>
于 2016-08-09T08:46:43.997 に答える
0

実際、データの保存中に間違いを犯しました。最初にデータを処理するために以下の方法を使用していました。//$data = stripslashes($data); //$data = htmlspecialchars($data); これらの2つの方法にコメントした後、私の問題は解決しました

于 2016-08-09T08:52:21.010 に答える