Javascript:返回一个字符串的两个部分......

时间:2011-07-29 00:22:29

标签: javascript regex string

快速为你提供一个javascript魔术师!

我有一个像这样的字符串

var something="a<b>pple</b>";

你可以打破上面这一点,以便得到这样的数组:

the_string[0] would contain "a"
the_string[1] would contain "pple"

基本上,之前的文字 <+ strong>以及标签中的文字。 标签将始终为粗体标签,并采用该格式。

谢谢!

4 个答案:

答案 0 :(得分:6)

"a<b>pple</b>".split(/<\/?b>/)

答案 1 :(得分:3)

var the_string = something.split(/<\/?b>/);

示例:http://jsfiddle.net/2FNr8/

答案 2 :(得分:0)

如果您想要保留所有内容但将标签分开,那么该怎么办?

the_string[0] would contain "a"
the_string[1] would contain "<b>"
the_string[2] would contain "pple"
the_string[3] would contain "</b>"

答案 3 :(得分:0)

如果您不知道元素是什么,可以使用:

function getTextAsArray(text) {
  var div = document.createElement('div');
  div.innerHTML = text;

  function getText (element) {
    var text = [];
    var el, els = element.childNodes;

    for (var i=0, iLen=els.length; i<iLen; i++) {
      el = els[i];

      if (el.nodeType == 1) {
        text.push(getText(el));

      } else if (el.nodeType == 3) {
        text.push(el.data);
      }
    }
    return text;
  }
  return getText(div);
}

alert(getTextAsArray("a<b>pple</b>")); // a, pple