繁体   English   中英

正则表达式从服务器端的html字符串中提取链接标记

[英]regular expression to extract a link tag from an html string on server side

我有一个HTML页面源,它​​在服务器端是字符串格式的

我需要从字符串中提取一个并将其添加到数组中。可以有多个具有相同开始标记的链接。 我需要将提取的字符串推送到数组

<link rel="icons"................ >可以在标记内包含任何内容。我在下面的代码中提到了startTag和endTag。

  var startTag = '<link rel="icons"';
  var endTag = '>';
  const re = new RegExp('(' + startTag + ')(.|\n)+?(' + endTag + ')', 'g');

但是,当我管理re的值时,它不是我期望的值。

DesiredOutput

['<link rel="icons" href="icons1.png"','<link rel="icons" href="icons2.png"',<link rel="icons" href="icons3.png"]

提前致谢。

我认为您正在寻找类似的东西(替换只是为了删除多余的空格):

 const data = ` <link rel="icons" href="icons1.png" > <link rel="icons" href="icons2.png" > <link rel="icons" href="icons3.png" > `; const links = data.match(/<link.*?>/gs) .map(link => link.replace(/\\s+/g, ' ')); console.log(links); 

如果您所处的环境不支持s标志,则可以改用/<link[^]*?>/g

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM