Регулярка. Вытащить текст из тега
Нужно забирать английский текст внутри тега <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 только первую букву. С этим моментом ещё бы разобраться. |
Часовой пояс GMT +3, время: 16:39. |