Регулярное выражение для возврата содержимого тега HTML, полученного в виде строки текста - PullRequest
0 голосов
/ 10 мая 2010

В моем коде есть строка, содержащая некоторые HTML-теги. Он не является частью отображаемой HTML-страницы, поэтому я не могу получить содержимое HTML-тега с помощью DOM (т. Е. document.getElementById('tag id').firstChild.data);

Так, например, внутри строки текста может появиться тег, подобный этому:

 <span id='myQty'>12</span>

Мой вопрос: как бы я использовал регулярное выражение для доступа к цифре «12» в этом примере? Это количество может быть любым количеством цифр (т.е. это не всегда двузначная цифра).

Я пробовал некоторые регулярные выражения, но всегда заканчивал тем, что возвращал тег full span вместе с содержимым. Я хочу только 12 в приведенном выше примере, а не окружающий тег <span>. Идентификатор тегов <span> всегда будет 'myQty' в строке текста, которую я получаю.

Заранее спасибо за любую помощь!

Ответы [ 2 ]

0 голосов
/ 10 мая 2010

Поскольку вы просто пытаетесь получить определенное значение из определенной структуры тега и не пытаетесь использовать регулярные выражения для удаления тегов HTML:

var myQtyMatch = str.match(/<span id='myQty'>(\d+)<\/span>/);
if (myQtyMatch) {
    var myQty = myQtyMatch[1];
    // myQty now holds the value between the <span> tags.
}
0 голосов
/ 10 мая 2010
var testfunction = function (input) {
    var regvar = new RegExp(/^(<span id\='myQty'>\w+<\/span>)$/);
    if (regvar.test(input) === true) {
        input = input.slice(6, input.length - 7);
    }
    return input;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...