Désolé de vous déranger à nouveau, mais voici mon dilemme.Extraire 1 ou plusieurs hyperliens du texte de paragraphe en Javascript en utilisant l'expression régulière
Il doit y avoir une "meilleure" expression régulière pour identifier le lien HTML d'un texte de paragraphe (il peut y avoir plus de 1 liens html dans le texte). Comment puis-je extraire tout le lien et l'ancrer dans javascript?
Ma tentative (javascript) est comme ceci:
var urlPattern = "(https?|ftp)://(www\\.)?(((([a-zA-Z0-9.-]+\\.){1,}[a-zA-Z]{2,4}|localhost))|((\\d{1,3}\\.){3}(\\d{1,3})))(:(\\d+))?(/([a-zA-Z0-9-._~!$&'()*+,;=:@/]|%[0-9A-F]{2})*)?(\\?([a-zA-Z0-9-._~!$&'()*+,;=:/[email protected]]|%[0-9A-F]{2})*)?(#([a-zA-Z0-9._-]|%[0-9A-F]{2})*)?";
function extractURLs(s) {
return s.match(new RegExp(urlPattern));
}
//s is of type String
//For testing...
var text = "Check this video out http://ww w.youtube.com/watch?v=y3U3R3b1dOg or http://www.youtube.com/watch?v=sX6Vm0MoPCY";
alert(extractURLs(text));
(espaces sur lien hypertexte a été délibérément ajoutée ici pour permettre l'affichage de question SO). Résultat: je n'ai que le 1er lien hypertexte et non le second .... Est-ce que quelqu'un a fait quelque chose de similaire ou de meilleur que je peux utiliser?
Merci d'avance.
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags Ceci devrait répondre à toutes vos questions. –
Ne vous inquiétez pas ... J'ai lu cette douce poésie avant, mais Alsciende a fourni une réponse correcte pour moi. –