javascript - 如何把一段字符串中的有规律信息转为对象数组?

查看:71
本文介绍了javascript - 如何把一段字符串中的有规律信息转为对象数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

比如我有一个变量content,
里面是字符串:

<p><a href="http://www.baidu.com" target="_self"><img src="/wzomifiles/ftpfile/pic/2016/09/30/84e228e30f8d404ea7972eee988567e4.JPEG" title="84e228e30f8d404ea7972eee988567e4.JPEG"/></a></p><p><a href="http://www.tengxun.com" target="_self"><img src="/wzomifiles/ftpfile/pic/2016/09/30/a5acfc450c334584aee43e720c8274c1.JPEG" title="a5acfc450c334584aee43e720c8274c1.JPEG"/></a></p>

我想吧每个p标签(段落)里的href值,src值提取出来变成一个对象,如果有多个P标签,就把提取出的内容变成个对象数组,比如变成这样:

[{
href:"http://www.baidu.com",
src:"/wzomifiles/ftpfile/pic/2016/09/30/84e228e30f8d404ea7972eee988567e4.JPEG"
},{
href:"http://www.tengxun.com",
src:"/wzomifiles/ftpfile/pic/2016/09/30/84e228e30f8d404ea7972eee988567e1.JPEG"
}]

我该怎么写方法呢?新手求教,还没学习正则,规则看的有点晕,实在写不出来,能否给出以上需求的实例代码,非常感谢!

解决方案

function contentParse(str) {
  var sr = /<\/p><p>/;
  var arr = str.split(sr);
  var r = [];
  for (var i = 0; i < arr.length; i++) {
    r.push({
      href: arr[i].match(/href="(.+?)"/)[1],
      src: arr[i].match(/src="(.+?)"/)[1]
    });
  }
  return r;
}

这篇关于javascript - 如何把一段字符串中的有规律信息转为对象数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆