簡體   English   中英

正則表達式逃避HTML標記

[英]Regex to escape HTML Tag

我想僅從html標記字符串名稱中提取。 我想獲得這個結果:

  • 農場1
  • 分期
  • STAGING_SYSTEM_10

我可以使用什么類型的正則表達式?

<div class='singleNode'><i class='fa fa-cogs'></i><span>Farm 1<span class='badge badge-primary'></span><span></div>

 <div class='singleNode'><i class='fa fa-cubes'></i><span>STAGING<span class='badge badge-primary'></span><span></div>

<div class='singleNode'><i class='fa fa-desktop'></i><span>STAGING_SYSTEM_10<span class='badge badge-primary'></span><span></div>

如果你必須使用正則表達式,這里是示例代碼:

 var re = /<div[^>]*?>(?:<(\\S+)[^>]*?>[^<]*?<\\/\\1>)+<span[^]*?>([^<]*?)(?=<span )/g; var str = '<div class=\\'singleNode\\'><i class=\\'fa fa-cogs\\'></i><span>Farm 1<span class=\\'badge badge-primary\\'></span><span></div>\\n\\n <div class=\\'singleNode\\'><i class=\\'fa fa-cubes\\'></i><span>STAGING<span class=\\'badge badge-primary\\'></span><span></div>\\n\\n<div class=\\'singleNode\\'><i class=\\'fa fa-desktop\\'></i><span>STAGING_SYSTEM_10<span class=\\'badge badge-primary\\'></span><span></div>'; var m; while ((m = re.exec(str)) !== null) { if (m.index === re.lastIndex) { re.lastIndex++; } // View your result using the m-variable. // m[2] is the 2nd capture group, the text inside the DIV element alert(m[2]) } 

如果您可以使用DOM解析它,請使用以下代碼:

 var input = document.getElementsByTagName("div"); for ($i = 0; $i < input.length; $i++) { alert(input[$i].textContent); } 
 <body> <div class='singleNode'><i class='fa fa-cogs'></i><span>Farm 1<span class='badge badge-primary'></span><span></div> <div class='singleNode'><i class='fa fa-cubes'></i><span>STAGING<span class='badge badge-primary'></span><span></div> <div class='singleNode'><i class='fa fa-desktop'></i><span>STAGING_SYSTEM_10<span class='badge badge-primary'></span><span></div> </body> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM