Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.07.2012, 19:43
Аспирант
Отправить личное сообщение для trololo Посмотреть профиль Найти все сообщения от trololo
 
Регистрация: 07.04.2011
Сообщений: 46

regex, выбрать текст из документа
имеется исходный документ содержащий вот такую структуру:
str<b><a href=''>str</a> </b><br/>
строка 1 которую нужно взять<br/> <br/>
str<b><a href=''>str</a> </b><br/>
строка 2 которую нужно взять<br/> <br/>
str<b><a href=''>str</a> </b><br/>
строка 3 которую нужно взять

<br/> <br/>
str<b><a href=''>str</a> </b><br/>
строка 4 которую нужно
<br/>взять<br/> <br/>

regex никогда не было моей сильной стороной, независимо от языка на котором писал. вот так пробую отсеять нужное
document.body.innerHTML.match(/<br>\s.*<br> <br>/gm)

на выходе имею
Array 
0 "<br> строка 1 которую нужно взять<br> <br>"
1 "<br> строка 2 которую нужно взять<br> <br>"
length 2

то есть выражение доходит до третей строки, в которой содержится ещё один перенос строки, также кроме переноса могут содержатся другие теги. что не хватает регулярному выражению?
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2012, 19:58
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Объясните, пожалуйста, подробнее, по какому критерию нужно выбрать текст.
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2012, 20:03
Аспирант
Отправить личное сообщение для trololo Посмотреть профиль Найти все сообщения от trololo
 
Регистрация: 07.04.2011
Сообщений: 46

нужно выбрать тест/html пл следующим признакам:
str<b><a href=''>str</a> </b><br/>
строка 1 которую нужно взять<br/> <br/>
str<b><a href=''>str</a> </b><br/>
строка 2 которую нужно взять<br/> <br/>
str<b><a href=''>str</a> </b><br/>
строка 3 которую нужно взять

<br/> <br/>
str<b><a href=''>str</a> </b><br/>
строка 4 которую нужно
<br/>взять
<br/> <br/>

то есть всё, что попадается между </b><br/>\s(тут может быть текст, теги img|a|br и переводы строк)<br/>\s<br/>\n
Ответить с цитированием
  #4 (permalink)  
Старый 30.07.2012, 20:20
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

var 
v=document.body.innerHTML;
var m=v.split('</b><br>');
for(var i=1;i<m.length;i++){alert(m[i].split('<br> <br>')[0])};

Последний раз редактировалось vadim5june, 30.07.2012 в 20:28.
Ответить с цитированием
  #5 (permalink)  
Старый 30.07.2012, 20:23
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

trololo,
Их можно взять суммой - или обязательно массив по строкам ?
Ответить с цитированием
  #6 (permalink)  
Старый 30.07.2012, 20:32
Аспирант
Отправить личное сообщение для trololo Посмотреть профиль Найти все сообщения от trololo
 
Регистрация: 07.04.2011
Сообщений: 46

вообще задача стоит в том, чтобы этот текст, который выделен, с помощью js вставить в span или div с уникальным id, для дальнейшей удобности, на том же месте (на сейчас вопрос не в этом), то есть получить на выходе

str<b><a href=''>str</a> </b><br/>
<div id="a[1]">строка 1 которую нужно взять</div><br/> <br/>
str<b><a href=''>str</a> </b><br/>
<div id="a[2]">строка 2 которую нужно взять</div><br/> <br/>
str<b><a href=''>str</a> </b><br/>
<div id="a[3]">строка 3 которую нужно взять

</div>
<br/> <br/>
str<b><a href=''>str</a> </b><br/>
<div id="a[4]">строка 4 которую нужно
<br/>взять
</div>
<br/> <br/>

я не извращенец, просто у меня нет доступа к серверной части приложения чтобы подправить верстку..
Ответить с цитированием
  #7 (permalink)  
Старый 30.07.2012, 20:35
Аспирант
Отправить личное сообщение для trololo Посмотреть профиль Найти все сообщения от trololo
 
Регистрация: 07.04.2011
Сообщений: 46

Сообщение от vadim5june Посмотреть сообщение
var 
v=document.body.innerHTML;
var m=v.split('</b><br>');
for(var i=1;i<m.length;i++){alert(m[i].split('<br> <br>')[0])};
да, как-то о цикле я не думал, если с регуляркой не разберусь, то буду этот способ юзать..
Ответить с цитированием
  #8 (permalink)  
Старый 30.07.2012, 20:54
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

trololo,
Мало признаков

Выведите реальный кусок контента вместе с родителем - обрамлением, (Либо ссылку на страницу,
Данный пример - чисто помоечный вариант- без признаков индивидуальности - мон напрягацо скок угодно потом выбросить всё к черту
Ответить с цитированием
  #9 (permalink)  
Старый 30.07.2012, 21:41
Аспирант
Отправить личное сообщение для trololo Посмотреть профиль Найти все сообщения от trololo
 
Регистрация: 07.04.2011
Сообщений: 46

Deff,
на самом деле это и есть фактически весь документ. родителем у всего этого этого выступает <td>, сам он содержит лишь то что я указал, за исключением того, что содержит немного другой текст и анкоры ссылок. ну что же, так и быть, всем спасибо за внимание буду использовать вариант предложенный товарисчем vadim5june.
Ответить с цитированием
  #10 (permalink)  
Старый 30.07.2012, 21:51
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

trololo,
td - это уже существенная вещь
второе
Это произвольный текст(Про выделенное цветом )?
str<b><a href=''>str</a> </b><br/>

Вам решения - еще и пытай Вас под ножом! Оно это нужно , никто не сидит с вами из помогающих за перегородкой и в курилке не обсуждали - термины и понятия разные, для мну пузырьковая камера - обиходное слово - вряд ли знакомое Вам...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Выравнять три дива в одной строке debugx (X)HTML/CSS 9 06.10.2011 12:03
lastChild работает в IE, как тут быть? Puaris83 Firefox/Mozilla 4 17.04.2010 23:56
Вопрос по относительному позиционированию DIV XPOMOB (X)HTML/CSS 11 15.07.2009 17:02