Javascript gsub中使用哪种模式!用订单号替换订单列表(li标记)html字符串的步骤
我有一个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]+)[^>]
<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"