私は Javascript を使用して HTML エンコードされたテキストエリアを生成しています。これは問題なく動作し、SQL データベースに保存します。これで結構です。しかし、これをテキストエリアに出力して再度編集する場合、php-tidyはテキストエリアの終了タグをコンテンツの前に移動するため、実際にはテキストエリアタグの後にコンテンツを配置します。これは、コンテンツが HTML タグでフォーマットされている場合にのみ発生しますが、これらは、HTML フォーマットの電子メールなどを生成するために必要なフォーマットを生成するために必要です。
PHP-tidy でコードの一部を無視したり、テキストエリアを PHP-tidy による解析から除外したりする必要がある場合、それは素晴らしいことです。
私が持っているコードは簡単です
//データベースからのコンテンツ
$message = stripslashes($database['message']);
$buffer = "<textarea id=\"elm1\" name=\"message\" cols=\"70\" rows=\"20\">$message</textarea>";
$config = array('indent' => TRUE,
'doctype' => "strict",
'output-xhtml' => TRUE,
'wrap' => 300);
$tidy = tidy_parse_string($buffer, $config);
$tidy->cleanRepair();
echo $tidy;
メッセージに HTML コンテンツがない場合、フォーマットは問題ありません
はい、フォーマットはあまり良くありませんが、期待どおりに機能します
<textarea id="elm1" name="Message" cols="70" rows="20"><p>this is a full html email.</p>
<p>little formatting </p>
<p><span style="color: #ff0000;">different colour text</span></p>
<p>and normal</p></textarea>
PHP整頓が有効
<textarea id="elm1" name="Message" cols="70" rows="20">
</textarea>
<p>
this is a full html email.
</p>
<p>
little formatting
</p>
<p>
<span style="color: #ff0000;">different colour text</span>
</p>
<p>
and normal
</p>
PHP-tidy を有効にしたいのですが、期待どおりの結果が得られます
ありがとう
Vip32