在jQuery中选择一个非标记元素

时间:2016-01-05 11:33:20

标签: jquery custom-tag

我的HTML中有如下所述的多个标签。注意像BBcode这样的方括号。

[oembed]http://rich-media.url[/oembed]

我需要使用jQuery获取URL的值。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

您可以使用正则表达式检索大括号之间的内容,如下所示:

var content = '[oembed]http://rich-media.url[/oembed]';
var matches = /\[.+\](.+)\[.+\]/g.exec(content);
console.log(matches[1]); // = 'http://rich-media.url'

答案 1 :(得分:1)

请看一下更新的小提琴:

https://jsfiddle.net/hxa4m8Ld/1/

var content = $('#mytags').text();
var currIndex = 0;
while(currIndex < content.length){
    var stIndex = content.indexOf("[oembed]",currIndex);
  var edIndex = content.indexOf("[/oembed]",stIndex);
  if(stIndex > -1 && edIndex> -1){
    var url = content.substring(stIndex+8,edIndex);
    currIndex = edIndex+9;
    console.log(url);
  }
  else
  {
    currIndex = content.length;
  }
}

我使用简单的javascript字符串函数来获取所需的URL。希望能帮到你。

答案 2 :(得分:1)

试试此代码

var content = $('#mytags').html();
var matches = /\[.+\](.+)\[.+\]/g.exec(content);

content.replace(/\[.+\](.+)\[.+\]/g, function(m, key, value){

      //this is url
      console.log(key);

});