1

ファイル、html、phpなどを編集するためのPHPスクリプトがあります。

テキストエリアフォームフィールドに入力する場合を除いて、それは完全に機能しています。次に例を示します。

<div>
& nbsp; or & amp;
</div>

特殊文字は、スペースのみとアンパサンド & のみに自動的に変換されます。

しかし、ファイル エディターの目的は、必要なものを正確に入力して表示することです。html コードはエンティティ フォームで記述される必要がある場合とそうでない場合があり、非エンティティ フォームに自動的に変換されることを望まないからです。ドキュメント全体が特殊文字に変換されるため、htmlspecialchars または htmlentities は機能しません。

htmlspecialchars を使用した場合のドキュメントのビュー ソースは次のとおりです。

&lt;!DOCTYPE html PUBLIC&gt;

&lt;html&gt;

&lt;head&gt;

&lt;title&gt;Test&lt;/title&gt;

etc...

そして、ブラウザに次のように出力されます。

<!DOCTYPE html PUBLIC> <html> <head> <title>Test</title> </head> <body> TEST  x &nbsp; </body> </html>

私はこの唯一無二のジレンマを抱えています。投稿データの処理から htmlspecialchars を単純に削除すると、html エンティティが自動的に読み取り可能な形式に変換されることを除いて、すべて問題なく動作します。宇宙へ、そして&アンプ; アンパサンドに &

何か案は?私は、cPanel がファイル エディター、net2ftp、および他の多くの Web ベースのファイル テキスト エディターで何らかの形でこれを行うことができたことを知っています。

ありがとう

4

1 に答える 1

0

htmlspecialchars を使用している場合、英数字以外のものはすべて html エンティティに変換されるため、マークアップとして使用するのではなく、実際にブラウザーでシンボルをレンダリングします。おそらく、ユーザーが入力したものをプレーンテキストとして保存し、表示する必要があるときにページにエコーバックすることができます. このコードは、私が試したときに機能しました。あなたがやろうとしていることを信じています。

<?php
 $var = $_POST['var'];
 echo $var;

 ?>

<form id='form' action='' method='post'/>
<textarea form='form' name='var'></textarea>
<input type='submit' value='submit'/>

于 2012-01-14T10:45:34.150 に答える