ゴール
である私は、ユーザーが記述にマークダウンまたはHTMLとして入力されたリンクを表示しようとしています。説明はデータベースに保存され、読み込みが終わるとリテラルマークアップ/マークダウンではなくリンクとして表示するために解析します。結果は文字列ではなく、有効なHTML
問題
私は、データベースに格納されて値下げを解析するHTML Purifierを使用しています。パーザで文字列を実行すると、ページ上の結果は有効なHTMLではなく、単に文字列内の正しいHTMLになります。
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Allowed', 'a[href]');
$config->set('AutoFormat.Linkify', true);
$config->set('HTML.TargetBlank', true);
$config->set('HTML.TargetNoreferrer', true);
//My database result
$subrow['description'];
$purifier = new HTMLPurifier($config);
printf("<br />%s<br />", $purifier->purify($subrow['description'));
現在出力は文字通りです:クロームdevのツールから"A link <a href="https://url.com">my link</a>"
スクリーンショット
purify()が "Aリンク
全く同じで、文字列であることを確認するために型チェックを行いました。 –
$ test = "A link my link\">mylink"; printf( '
%s
'、$ test); // this works me ... hrmm –