如何使用Javascript从其他内容中提取内容

时间:2014-07-14 05:25:41

标签: javascript

我的字符串是:

var str = "<footnote xml:id="ch03-fn-5" label="5"><para aid:pstyle="Copytext">„Muchacho“ (1924), Musik: Luis N. Visca, Text: Celedonio Esteban Flores.</para></footnote>"

我想将脚注标签内的内容存储在另一个变量中,我需要一个字符串函数来解决这个问题,

注意xml:id="ch03-fn-5" label="5"的值可能是单位数或双位数。

有人可以为此提出任何想法

谢谢!

3 个答案:

答案 0 :(得分:1)

jQuery可以提供帮助:

$(str).html();
$(yourAnotherFoornotVar).find('para').html()

您可以将一个html字符串放入jQuery选择器中,而不必在页面中包含该元素。

答案 1 :(得分:1)

你的意思是:

var str = '<footnote xml:id="ch03-fn-5" label="5"><para aid:pstyle="Copytext">„Muchacho“ (1924), Musik: Luis N. Visca, Text: Celedonio Esteban Flores.</para></footnote>';

var match, 
    res = "", 
    pattern = /<footnote[^>]*>(.*?)<\/footnote>/ig;
while (match = pattern.exec(str)) {   
  res += match[1]; 
}
console.log(res); //<para aid:pstyle="Copytext">„Muchacho“ (1924), Musik: Luis N. Visca, Text: Celedonio Esteban Flores.</para>

演示:: jsFiddle

答案 2 :(得分:1)

newStr将保留内部脚注中的内容,不需要jQuery。

var str = '<footnote xml:id="ch03-fn-5" label="5"><para aid:pstyle="Copytext">„Muchacho“ (1924), Musik: Luis N. Visca, Text: Celedonio Esteban Flores.</para></footnote>';
var newStr = str.substr(str.indexOf(' ')+1, (str.indexOf('>')-10));
console.log(newStr); // xml:id="ch03-fn-5" label="5"