Googleで検索してみましたが、似たようなものは見つかりませんでした...
テキスタイルを使用してメッセージをフォーマットするアプリがあります。セキュリティを強化し、テキスタイル マークアップによって生成された HTML のみを許可しようとしています。したがって、RedCloth docs に従って :filter_html オプションを有効にしました。
text = RedCloth.new(input_text, [:filter_html]).to_html
今、カスタム フィルターで RedCloth を拡張しようとしています。一部のカスタム コードを一部の HTML (つまり、タグ) に置き換えます。スマイリーフィルターの例で行われることは非常に似ています: https://github.com/jgarber/redcloth/blob/master/spec/extension_spec.rb
text = RedCloth.new(input_text, [:filter_html]).to_html(:custom_filter)
問題は、:filter_html を有効にすることです。redcloth は、カスタム フィルターによって生成された HTML 出力を html エンコードします。
カスタム フィルタの出力を html_safe でマークしようとしましたが、うまくいきません。
この html エスケープを顧客フィルターで回避する方法はありますか?