1

TinyMCEエディターから保存されたHTMLであるこのプロパティがあります:

<?php echo h($person['Person']['CurriculumVitae']); ?>

どうすればそれをWebに表示して、単純な文字列ではなくRAW Htmlとしてレンダリングできますか?

4

2 に答える 2

2

HTMLエンティティをエスケープh()するのエイリアスである変数をでラップしないでください。htmlspecialchars()

<?php echo $person['Person']['CurriculumVitae']; ?>
于 2012-10-03T14:15:53.463 に答える
2

h()を削除するだけで問題が解決する可能性がありますが、TinyMCEからhtmlを保持するフィールドがセキュリティホールになる可能性があるため、セキュリティホールが発生する可能性があります。

私はまったく同じ問題を抱えていて、tinymceHTMLの出力にhttp://htmlpurifier.org/を使用して解決しました。私はその周りにCakePHPプラグインも書いた。https://github.com/burzum/HtmlPurifier

HtmlPurifierを使用すると、許可されたHtml要素のセットとその属性を構成できます。したがって、たとえば、hrefは許可されているが、classは許可されていないことを指定できます。

ユーザーがTinyMceで実行できるものに一致するHtmlPurifierの構成を作成する必要があります。ユーザーが入力したマークアップから、許可されていないすべてのタグと属性が削除されます。

于 2012-10-04T11:26:37.857 に答える