Поиск с разбором и заменой
Необходимо средсвами javascript найти в тексте все конструкции следующего вида:
<td class="row1"><span class="forumlink"><a href="viewforum.php?f=61" class="forumlink">Название форума</a></span></td> Извлечь чему равен f (в данном случае f=61). И добавить это значение к Названию форума. В итоге будет: <td class="row1"><span class="forumlink"><a href="viewforum.php?f=61" class="forumlink">61 Название форума</a></span></td> Несколько лет назад работал с регулярными выражениями на php, но видимо все позабыл. С чего начать? |
|
Вспомнил про jquery и все оказалось до банального просто.
$(document).ready(function() { $("a.forumlink").each(function() { var forumNum=this.href.match(/viewforum.php\?f=([0-9]+)/)[1]; this.text=forumNum+' '+this.text; }); }); Полезные ссылки: http://stackoverflow.com/questions/1...k-using-jquery http://stackoverflow.com/questions/8...-from-href-tag |
exvion,
Извините, но меня просто выводит из себя такие люди как вы. Вы нашли решение своей задачи где присутстуют две jQuery функции, не имеющих никакого отношения к решению задачи, но зато говорите слава богу что jQuery даровал нам регулярные выражения, фу. :-E |
Уважаемый, monolithed.
Где я говорил, что "слава богу что jQuery даровал нам регулярные выражения"? Я просто пояснил, что мне удалось написать нужный мне код не на чистом javascript, а с помощью jquery. И уточнил, что регулярное выражение очень простое, хотя в начале работы мне казалось, что оно будет очень сложным. Подзыбыл я работу с регулярными выражениями. |
можно было обойтись и без jQuery , он хотел сказать...
|
melky, я не знаю как написать это без jQuery. У меня получилось вот так, но код не проверял.
<script type="text/javascript"> var f1 = document.getElement('a').getElementsByClassName('forumlink') for (var i=0; i<f1.length; i++) var forumNum= f1[i].href.match(/viewforum.php\?f=([0-9]+)/)[1]; f1[i].text=forumNum+' '+ f1[i].text; } </script> Возникли вопросы. Как получить все элементы <a></a>? В javascript не нашел нужной функции. |
Цитата:
Цитата:
|
var f1 =document.getElementsByTagName('a'), b = f1.length; while ( b-- ) if ( f1[b].className === 'forumlink' ) f1[b].innerHTML = f1[b].href.match(/viewforum.php\?f=([0-9]+)/)[1]+' '+ f1[b].innerHTML; |
kobezzza, melky, спасибо.
Продолжаю разбираться с регулярными выражениями. Стоит задача извлечь дату со страницы. <div class="item"> <b>Количество:</b> 72<br> <b>Дата:</b> 25.07.2011 <br> <b>Цена:</b> 104<br> </div> Пробую так - не работает. var data=$('div.item').match(/<b>Дата:<\/b>([^<]*)<br>/); alert(data); |
Часовой пояс GMT +3, время: 14:43. |