mysqlからの出力をエコーしています。ログファイルであるため、私はそれを制御できませんが、表示されたときにHTMLを台無しにする特定のログが1つあります。
これが私がログから取ったスニペットです:
a következő helyen: System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)<br />
a következő helyen: System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)<br />
Parsing hand: <br />
<?xml version="1.0" encoding="utf-16"?><br />
<HandDetails SiteName="Poker
それを表に表示すると、すべてがめちゃくちゃになっています。とを使用してみhmtlentities
ましhtmlspecialchars
たが、どちらも非表示<br />
のタグを出力し、<br />
が機能しないため、改行が表示されません。最善のアプローチは何ですか?
開閉を探して、<>
に置き換えることを考えていました[]
が、副作用があるかどうかわかりません。また、600行ほどのスニペットを取得しているため、終了するものがない場合があります。コードなので、いつでも切断できます
データを変更してもかまいません。100%そのまま表示する必要はありません(FWIW、問題なくデータベースに挿入されます。問題が発生するのはエコーアウトしたときです)。
//詳細情報を含む新しい編集
さて、私はソースコードを見て、これを示しています:
<td> at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget, Nullable`1 channelSet)<br />
at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget)<br />
at System.Windows.Interop.HwndTarget.UpdateWindowPos(IntPtr lParam)<br />
at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)<br />
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wP</td>
それを出力するための私のコードは非常に単純です:
$ result1 = mysql_query($ Feedback_query_first);
while ($row1 = mysql_fetch_array($result1))
{
$first_date = $row1['snippet_date'];
$snippet_text_pre = $row1['snippet_text'];
$snippet_text = htmlspecialchars($snippet_text_pre);
}
echo '<td>'. $snippet_text.'</td>';
htmlspecialcharsを削除すると、xmlがすべてを台無しにするという元の問題が発生しますが、書式設定は問題なく、改行などが観察されます。そのままにしておくと、
改行のないテキストとして挿入されますか?????