Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.07.2011, 15:45
Интересующийся
Отправить личное сообщение для exvion Посмотреть профиль Найти все сообщения от exvion
 
Регистрация: 25.01.2010
Сообщений: 27

Поиск с разбором и заменой
Необходимо средсвами 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, но видимо все позабыл. С чего начать?
Ответить с цитированием
  #2 (permalink)  
Старый 24.07.2011, 16:47
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Регулярные выражения
Ответить с цитированием
  #3 (permalink)  
Старый 24.07.2011, 17:17
Интересующийся
Отправить личное сообщение для exvion Посмотреть профиль Найти все сообщения от exvion
 
Регистрация: 25.01.2010
Сообщений: 27

Вспомнил про 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, 24.07.2011 в 17:18. Причина: добавил ссылки
Ответить с цитированием
  #4 (permalink)  
Старый 24.07.2011, 17:40
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

exvion,
Извините, но меня просто выводит из себя такие люди как вы.
Вы нашли решение своей задачи где присутстуют две jQuery функции, не имеющих никакого отношения к решению задачи, но зато говорите слава богу что jQuery даровал нам регулярные выражения, фу.

Последний раз редактировалось monolithed, 24.07.2011 в 17:45.
Ответить с цитированием
  #5 (permalink)  
Старый 24.07.2011, 23:26
Интересующийся
Отправить личное сообщение для exvion Посмотреть профиль Найти все сообщения от exvion
 
Регистрация: 25.01.2010
Сообщений: 27

Уважаемый, monolithed.
Где я говорил, что "слава богу что jQuery даровал нам регулярные выражения"?
Я просто пояснил, что мне удалось написать нужный мне код не на чистом javascript, а с помощью jquery. И уточнил, что регулярное выражение очень простое, хотя в начале работы мне казалось, что оно будет очень сложным. Подзыбыл я работу с регулярными выражениями.
Ответить с цитированием
  #6 (permalink)  
Старый 24.07.2011, 23:40
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

можно было обойтись и без jQuery , он хотел сказать...
Ответить с цитированием
  #7 (permalink)  
Старый 25.07.2011, 11:16
Интересующийся
Отправить личное сообщение для exvion Посмотреть профиль Найти все сообщения от exvion
 
Регистрация: 25.01.2010
Сообщений: 27

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 не нашел нужной функции.
Ответить с цитированием
  #8 (permalink)  
Старый 25.07.2011, 11:21
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
var f1 = document.getElement('a').getElementsByClassName('f orumlink')
WTF?!
Цитата:
Возникли вопросы. Как получить все элементы <a></a>? В javascript не нашел нужной функции.
document.getElementsByTagName("a");
__________________
kobezzza
code monkey
Ответить с цитированием
  #9 (permalink)  
Старый 25.07.2011, 11:38
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

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;

Последний раз редактировалось melky, 25.07.2011 в 11:43.
Ответить с цитированием
  #10 (permalink)  
Старый 25.07.2011, 13:35
Интересующийся
Отправить личное сообщение для exvion Посмотреть профиль Найти все сообщения от exvion
 
Регистрация: 25.01.2010
Сообщений: 27

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);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в тексте javascript jQuery 3 31.05.2011 11:40
PagingToolbar и поиск DenQ ExtJS 5 02.11.2010 00:16
Поиск текста в блоке со скроллингом lukingnu Элементы интерфейса 0 05.08.2010 22:54
Поиск последнего слова в строке AlexFadeev Элементы интерфейса 3 01.04.2010 18:56
Поиск в массиве через JavaScript Noran Общие вопросы Javascript 0 10.08.2008 17:31