0

私はローカルアプリで機能を投稿するようなことをしていますが、実際には正常に機能していますが、検証が欠けており、私が行った検証が混乱していたことは言うまでもありません。jQuery oEmbed を使用しています。

私が欲しかったのは、違法なhtmlタグをそのまま印刷し、許可したhtmlタグをアクティブ化/実行することです(正しい用語はわかりません)。

助言がありますか?

4

1 に答える 1

3

これは私が思いついた最良の解決策です。

最初に HTML コードのすべての < と > を置き換えてから、許可されたタグを元に戻しました。

<?php

$original_str = "<html><b>test</b><strong>teste</strong></html>";
$allowed_tags = array("b", "strong");

$sans_tags = str_replace(array("<", ">"), array("&lt;","&gt;"), $original_str);

$regex = sprintf("~&lt;(/)?(%s)&gt;~", implode("|",$allowed_tags));
$with_allowed = preg_replace($regex, "<\\1\\2>", $sans_tags);

echo $with_allowed;
echo "\n";

結果:

guax@trantor:~$ php teste.php 
&lt;html&gt;<b>test</b><strong>teste</strong>&lt;/html&gt

一気に交換する解決策はないのだろうか。しかし、それは機能します。

于 2011-06-17T17:32:52.537 に答える