私はローカルアプリで機能を投稿するようなことをしていますが、実際には正常に機能していますが、検証が欠けており、私が行った検証が混乱していたことは言うまでもありません。jQuery oEmbed を使用しています。
私が欲しかったのは、違法なhtmlタグをそのまま印刷し、許可したhtmlタグをアクティブ化/実行することです(正しい用語はわかりません)。
助言がありますか?
私はローカルアプリで機能を投稿するようなことをしていますが、実際には正常に機能していますが、検証が欠けており、私が行った検証が混乱していたことは言うまでもありません。jQuery oEmbed を使用しています。
私が欲しかったのは、違法なhtmlタグをそのまま印刷し、許可したhtmlタグをアクティブ化/実行することです(正しい用語はわかりません)。
助言がありますか?
これは私が思いついた最良の解決策です。
最初に HTML コードのすべての < と > を置き換えてから、許可されたタグを元に戻しました。
<?php
$original_str = "<html><b>test</b><strong>teste</strong></html>";
$allowed_tags = array("b", "strong");
$sans_tags = str_replace(array("<", ">"), array("<",">"), $original_str);
$regex = sprintf("~<(/)?(%s)>~", implode("|",$allowed_tags));
$with_allowed = preg_replace($regex, "<\\1\\2>", $sans_tags);
echo $with_allowed;
echo "\n";
結果:
guax@trantor:~$ php teste.php
<html><b>test</b><strong>teste</strong></html>
一気に交換する解決策はないのだろうか。しかし、それは機能します。