содержание страницы:
aa<b>1;2'3</b>hh<b>aaa</b>..
.<b>bbb</b>
blabla..
я хочу получить результат:
1;2'3aaabbb
тег соответствия <b>
и </b>
как записать этому regex использование JavaScript?спасибо!
Лазянно
,
Если и только если :
SLaks
(а также предыдущее сообщение статья, которую он ссылается на ), и
/
теги или вхождения
или
в
или в комментарии < ! - .. ->
теги и т. Д.) ... затем используйте:
var str = "aa<b>1;2'3</b>hh<b>aaa</b>..\n.<b>bbb</b>\nblabla..";
var match, result = "", regex = /<b>(.*?)<\/b>/ig;
while (match = regex.exec(str)) { result += match[1]; }
alert(result);
Результат:
1;2'3aaabbb
Вот пример без зависимости от jQuery:
// get all elements with a certain tag name
var b = document.getElementsByTagName("B");
// map() executes a function on each array member and
// builds a new array from the function results...
var text = b.map( function(element) {
// ...in this case we are interested in the element text
if (typeof element.textContent != "undefined")
return element.textContent; // standards compliant browsers
else
return element.innerText; // IE
});
// now that we have an array of strings, we can join it
var result = text.join('');
Вы не можете анализировать HTML с помощью регулярных выражений .
Вместо этого вы должны использовать Javascript DOM.
Например (с использованием jQuery):
var text = "";
$('<div>' + htmlSource + '</div>')
.find('b')
.each(function() { text += $(this).text(); });
Я заключаю HTML в тег
.