在Ruby中带有html标签的ANSI转义码?
发布时间:2020-12-17 03:10:08 所属栏目:百科 来源:网络整理
导读:有趣的是有 built-in ansi escape code in Ruby. a gem还有更强大的版本. 不幸的是,这些日志输出到控制台.我的文本显示在页面中,所以我需要HTML标签来包裹我的文本. 你们有任何想法如何去做吗? 解决方法 我想你想要的是从转义字符转换为HTML. 通过为转义字
有趣的是有
built-in ansi escape code in Ruby.
a gem还有更强大的版本. 不幸的是,这些日志输出到控制台.我的文本显示在页面中,所以我需要HTML标签来包裹我的文本. 你们有任何想法如何去做吗? 解决方法
我想你想要的是从转义字符转换为HTML.
通过为转义字符假设以下代码/颜色哈希,我做了一次: { :reset => 0,:bright => 1,:dark => 2,:underline => 4,:blink => 5,:negative => 7,:black => 30,:red => 31,:green => 32,:yellow => 33,:blue => 34,:magenta => 35,:cyan => 36,:white => 37,:back_black => 40,:back_red => 41,:back_green => 42,:back_yellow => 43,:back_blue => 44,:back_magenta => 45,:back_cyan => 46,:back_white => 47} 我所做的是以下转换(远离无论如何优化): def escape_to_html(data) { 1 => :nothing,2 => :nothing,4 => :nothing,5 => :nothing,7 => :nothing,30 => :black,31 => :red,32 => :green,33 => :yellow,34 => :blue,35 => :magenta,36 => :cyan,37 => :white,40 => :nothing,41 => :nothing,43 => :nothing,44 => :nothing,45 => :nothing,46 => :nothing,47 => :nothing,}.each do |key,value| if value != :nothing data.gsub!(/e[#{key}m/,"<span style="color:#{value}">") else data.gsub!(/e[#{key}m/,"<span>") end end data.gsub!(/e[0m/,'</span>') return data end 那么,你需要填补我不考虑的颜色或背景的空白.但我想你可以得到这个想法. 希望能帮助到你 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |