1

何らかの理由で、PHP の strig_tags( ) 関数は、明示的に許可されているタグが属性内にある場合、これらのタグから括弧を削除しています。

例:

<div data-contents="<p>Hello!</p>"></div>

になる

<div data-contents="pHello!/p"></div>

分かってる。これは必ずしも良い習慣ではありません。

とにかく、何かアイデアはありますか?

4

1 に答える 1

2

マニュアルページの警告には次のように記載されています。**Because strip_tags() does not actually validate the HTML, partial or broken tags can result in the removal of more text/data than expected.

属性内に HTML を埋め込みたい場合は、適切にエンコードする必要があります。たとえば、&lt;p&gt;Hello!&lt;/p&gt;代わりにエンコードする必要があります。

タグを削除するのは「ばかげている」ものであり、タグのように見えるものはすべて、そのタグがテキスト内のどこにあるかに関係なく、またはページが壊れるかどうかに関係なく削除されます。

于 2013-08-07T16:30:34.807 に答える