2016-01-05 2 views
0

J'ai les multiples étiquettes comme mentionné ci-dessous dans mon HTML. Notez les crochets comme BBcode.Sélection d'un élément non-tag dans jQuery

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

J'ai besoin d'obtenir la valeur de l'URL en utilisant jQuery. Toute aide serait appréciée.

Répondre

1

S'il vous plaît jeter un oeil à violon mise à jour:

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; 
    } 
} 

I utilisé de simples fonctions de chaîne javascript pour récupérer les URLs requises. J'espère que cela vous aidera.

1

Vous pouvez utiliser une expression régulière pour récupérer le contenu entre les accolades, quelque chose comme ceci:

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

Merci Rory. J'ai essayé votre code, ça marche mais seulement pour le premier match. J'ai installé un violon ici avec l'échantillon HTML https://jsfiddle.net/hxa4m8Ld/ –

1

Essayez ce code

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

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

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

}); 
+0

Travailler le violon https://jsfiddle.net/3631ubg6/1/ –