2015-03-27 7 views
0

Попытка извлечь все адреса из строки хранилища в массивИзвлечение Url из строки, хотя регулярное выражение

Использование ниже регулярное выражение:

/<a href=([^>]*)>ss URL<\/a>/g 

для строки:

<a href='https://zzzz' target="_blank">ss URL</a> 

, но я получаю выход с целевым пробелом:

`'https://zzzz' target="_blank"` 
+0

просто соответствуют цитируемый URL, не все bolierplate HTML ... ('[^"] + ') – dandavis

ответ

2

Просто нет. Просто используйте DOM-методы для их получения. Во-первых, мы создаем временный div, а затем устанавливаем его внутренний html в строку ввода. Мы можем пройти через <a> и вернуть их href свойство с помощью Array.map

var elem = document.createElement('div'); 
elem.innerHTML = str; 
var urls = [].map.call(elem.querySelectorAll('a'), function(a){ 
    return a.innerText.toLowerCase() == "ss url" ? a.href : ""; 
}).filter(String); 
+0

это строка –

+0

@TabraizAli Я знаю, что это строка. –

+0

есть любая реальная выгода от этого. regex way выглядит проще. –

Смежные вопросы