一部の文字列に対して自動 html フォーマットを実行したいと考えています。たとえば、下線が前に付いている char の自動添え字を実行したいとします。
したがって、「U_1 + U_2 = U_3」のような文字列は、U 1 + U 2 = U 3にフォーマットする必要があります。
これは、フィルターにとって完璧な仕事のように見えます。私は次のことを試しました:
angular.module('myApp.filters', []).
filter('convert_subscripts', [ function(){
return function(text){
return text.replace(/_([\w]+)/, '<sub>$1</sub>', 'g');
};
}])
そして私の見解では:
<p>{{content.text | convert_subscripts }}</p>
しかし、これは HTML をエスケープするため、適切にフォーマットされた添え字の代わりに「sub」タグが表示されます。
html タグがエスケープされないようにフォーマット機能を実装するにはどうすればよいですか?
(完璧を期すためには、セキュリティのために content.text 自体をエスケープする必要がありますが、追加された添え字タグはエスケープしないでください。私は angular 1.2 を使用しています)