Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript gsub中使用哪种模式!用订单号替换订单列表(li标记)html字符串的步骤_Javascript_Html_Ruby - Fatal编程技术网

Javascript gsub中使用哪种模式!用订单号替换订单列表(li标记)html字符串的步骤

Javascript gsub中使用哪种模式!用订单号替换订单列表(li标记)html字符串的步骤,javascript,html,ruby,Javascript,Html,Ruby,我有一个html字符串,如下所示: <ol><li>CNN</li><li>BBC</li><li>Reuters</li></ol> 像这样,我处理转换H1-H6: text.gsub!(/(<\/h[1-6]>)/i, "\n\\1") # move closing tags to new lines text.gsub!(/[\s]*<h([1-6]+)[^>]

我有一个html字符串,如下所示:

<ol><li>CNN</li><li>BBC</li><li>Reuters</li></ol>
像这样,我处理转换H1-H6:

text.gsub!(/(<\/h[1-6]>)/i, "\n\\1") # move closing tags to new lines
    text.gsub!(/[\s]*<h([1-6]+)[^>]*>[\s]*(.*)[\s]*<\/h[1-6]+>/i) do |s|
      hlevel = $1.to_i

      htext = $2
      htext.gsub!(/<br[\s]*\/?>/i, "\n") # handle <br>s
      htext.gsub!(/<\/?[^>]*>/i, '') # strip tags

      # determine maximum line length
      hlength = 0
      htext.each_line { |l| llength = l.strip.length; hlength = llength if llength > hlength }
      hlength = line_length if hlength > line_length
      hlength = 3

      case hlevel
        when 1   # H1, equal below
          htext = htext.upcase + "\n" + ('=' * hlength)
        when 2   # H1, dashes below
          htext = htext.upcase + "\n" + ('-' * hlength)
        else     # H3-H6, dashes below
          htext = htext + "\n" + ('-' * hlength)
      end

      "\n" + htext
    end
任何人都可以帮我,谢谢

s='
  • CNN
  • BBC
  • 路透社
  • '
    s = '<ol><li>CNN</li><li>BBC</li><li>Reuters</li></ol>'
    s.gsub(/<ol>(.*)<\/ol>/) {        # search for OL
      $counter = 0                    # init counter
      $~[1].gsub(/<li>(.*?)<\/li>/) { # search for LI within result
        '' + ($counter += 1).to_s + ') ' + $~[1] + ' '  
      } 
    }.strip                           # remove trailing space
    
    #⇒ "1) CNN 2) BBC 3) Reuters"
    
    s、 gsub(/(.*)/){#搜索OL $counter=0#初始计数器 $~[1].gsub(/
  • (.*)/){#在结果中搜索li “+($counter+=1).to_s+”++$~[1]+” } }.strip#删除尾部空间 #⇒ “1)CNN 2)BBC 3)路透社”
  • 希望能有所帮助。

    这个答案:与您的问题相关,还是您的问题与一个足够有限的案例相关,您不希望所提及的问题相关?
    <h1>heading 1</h1></div><h2>heading 2</h2><h3>heading 3</h3><h4>heading 4</h4>
    
    HEADING 1
    === 
    HEADING 2
    --- 
    heading 3
    --- 
    heading 4
    ---
    
    s = '<ol><li>CNN</li><li>BBC</li><li>Reuters</li></ol>'
    s.gsub(/<ol>(.*)<\/ol>/) {        # search for OL
      $counter = 0                    # init counter
      $~[1].gsub(/<li>(.*?)<\/li>/) { # search for LI within result
        '' + ($counter += 1).to_s + ') ' + $~[1] + ' '  
      } 
    }.strip                           # remove trailing space
    
    #⇒ "1) CNN 2) BBC 3) Reuters"