Регулярка. Вытащить текст из тега
Нужно забирать английский текст внутри тега <div class="me"> :help:
Пример: <div class="me"><a stop-start_id="15" class="mLink tok" href="./product_info.php?t=220">спортивные новости / sportnews <span class="tor">(2011, author. / автор)</span> <span class="tor">[block, 12]</span> Free</a></div> |
<div class="me"><a stop-start_id="15" class="mLink tok" href="./product_info.php?t=220">спортивные новости / sportnews <span class="tor">(2011, author. / автор)</span> <span class="tor">[block, 12]</span> Free</a></div>
<script>
(function() {
var node = document.querySelector('.me');
var text = 'innerText' in node ? node.innerText : node.textContent; // Fuck Mozilla
var matches = text.match(/[a-z]+/gmi);
alert(matches);
})();
</script>
|
<html> <head> <meta charset="windows-1251" /> </head> <body> <script> str='фууfoo<div class="me"><a stop-start_id="15" class="mLink tok" href="./product_info.php?t=220">спортивные новости / sportnews <span class="tor">(2011, author. / автор)</span> <span class="tor">[block, 12]</span> Free</a></div>barфуу' re=/.*<div\s+class\s*=\s*['"]\s*me\s*['"]\s*>(.*)<\/div\s*>.*/g str=str.replace(re, "$1") str=str.replace(/<[^>]*>/g, "") str=str.replace(/[^\w]+/g, " ") alert(str) </script> </body> </html> |
krutoy,
зачем? |
krutoy, зачем парсить HTML если в браузер уже встроен парсер?
|
рони,
danik.js, А может он захочет распарсить из консоли:) |
Цитата:
|
danik.js,
Отлично! Только вот для match ещё хотелось бы поменять регулярку чтобы искала английский текст c годом и ещё могут встречаться символы "-", ":" и т.д. до тэга span. Покамесь получилась с такой регуляркой /[\w]+/ но учитывает только первое слово. |
А флаги зачем выбросил? g - поиск всех совпадений.
|
Потому-что с флагами перечислять начинает все английские слова из строки через запятую.
Ещё один нюанс: регулярка /[\w]+/ берёт например у It's только первую букву. С этим моментом ещё бы разобраться. |
Xant1k,
:-?
<div class="me"><a stop-start_id="15" class="mLink tok" href="./product_info.php?t=220">спортивные новости / sportnews <span class="tor">(2011, author. / автор)</span> <span class="tor">[block, 12]</span> Free</a></div>
<script>
(function() {
var node = document.querySelector('.me');
var text = 'innerText' in node ? node.innerText : node.textContent; // Fuck Mozilla
text = text.replace(/\s?[а-яё/]\s?/gmi, '');
alert(text);
})();
</script>
|
А до тэга span забирать английский текст с цифрами? Подозреваю с использованием <.*?> только как правильно прописать?
|
Xant1k,
вы бы огласили весь ассортимент :cray:
<div class="me"><a stop-start_id="15" class="mLink tok" href="./product_info.php?t=220">спортивные новости / sportnews <span class="tor">(2011, author. / автор)</span> <span class="tor">[block, 12]</span> Free</a></div>
<script>
(function() {
var node = document.querySelector('.me a');
var text = node.firstChild.data;
text = text.replace(/\s?[а-яё/]\s?/gmi, '');
alert(text);
})();</script>
|
рони,
респект, работает! Мне тоже интересен ассортимент, что может встретиться в начале или конце слова из знаков)) будь то "'" в It's или "-" в Non-Stop 2 Hours |
| Часовой пояс GMT +3, время: 20:39. |