| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > Есть ли метод поиска по тегам в []? |
| Автор: nule 3.11.2011, 11:51 |
| Приветствую! Задача выловить из страницы форума текст, находящийся под спойлером. Текст заключен в "форумный" тег [spoler][/spoler]. getElementsByTagName работает только с html-тегами в <>, а как быть с тегами в []? Есть ли готовые решения? Спасибо! |
| Автор: $дмитрий 3.11.2011, 12:16 | ||
Примерно так
|
| Автор: Egik2 3.11.2011, 15:03 |
| Ты точно уверен, что произвольный тег не ищется? Метод getElementsByTagName работает с DOM моделью документа и с HTML имеет слабую связь |
| Автор: nule 3.11.2011, 15:10 | ||
Не ищется. Это же даже не тег, а BB-код. Насчет варианта $дмитрий, разбираюсь. Пока ничего не понятно. |
| Автор: Egik2 3.11.2011, 15:44 |
| Ааа, понятно. Тогда не будет работать. В дополнение к совету $дмитрия советую почитать http://javascript.ru/basic/regular-expression |
| Автор: nule 3.11.2011, 16:57 | ||||||
Спасибо. В целом разобрался, но запутался в слэшах.
Такой код даёт результат
Как убрать артефакты по краям, никак не соображу. В примере $дмитрий видимо со слэшами тоже не всё в порядке, т.к. именно в таком виде пустой. |
| Автор: Evghenusi 3.11.2011, 17:56 | ||||
угу, не за экранирован слэш.
|
| Автор: nule 3.11.2011, 18:24 | ||
Увы. Результат - пустая строка |
| Автор: Evghenusi 3.11.2011, 18:44 |
результат ошибка. почему-то JS против назад смотрящего утверждения (?<=), хз как исправить. предлагаю перейти на Perl или PHP там таких ошибок нет |
| Автор: nule 4.11.2011, 08:39 | ||
Дэвид Флэнаган, JS подробное руководство, 5 издание. |
| Автор: Egik2 4.11.2011, 09:56 | ||
Немного модифицированный вариант
Результат в переменной res будет массив ["[spoler]inner text[/spoler]", "inner text"] Таким образом res[1] будет содержать искомое содержимое тега. Метод exec возвращает массив совпадающих значений и Вы сможете таким образом обработать все теги на странице |
| Автор: $дмитрий 4.11.2011, 09:59 | ||
Все находит
|
| Автор: nule 4.11.2011, 10:52 | ||
Дэвид Флэнаган, JS подробное руководство, 5 издание. Для примера выше разницы между match и exec никакой, как я понял. |