加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在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

那么,你需要填补我不考虑的颜色或背景的空白.但我想你可以得到这个想法.

希望能帮助到你

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读