Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.10.2014, 19:55
Интересующийся
Отправить личное сообщение для kirilvlasuk Посмотреть профиль Найти все сообщения от kirilvlasuk
 
Регистрация: 23.06.2014
Сообщений: 11

Регулярные выражения
Всем привет, начал работать над одним проектом по парсингу и возникла проблема украсть данную строку. Нужно регулярное выражение для данной строки.
<a onclick="document.fireEvent('goodsTitleClick',{extend_event:[{name:'goods_id',value:1558037}]});" href="http://ссылка">
			текст
			</a>

Собственно меняться будет только "текст" все остальное статично. Кстати пробелы и перенос так же нужны.

Если кто знает как помочь буду очень благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 13.10.2014, 19:59
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А если заюзать HTML-парсер? Это клиентский или серверный скрипт?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2014, 20:07
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,232

Сообщение от kirilvlasuk
Если кто знает как помочь буду очень благодарен
Как вариант...

<div id='test'>
<a onclick="document.fireEvent('goodsTitleClick',{extend_event:[{name:'goods_id',value:1558037}]});" href="http://ссылка">
            текст
            </a>
</div>
<script type='text/javascript'>
var str=document.getElementById('test').innerHTML;
alert('"'+str.match(/>([\s\S]*)(?=<\/)/)[1]+'"');
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 13.10.2014, 20:08
Интересующийся
Отправить личное сообщение для kirilvlasuk Посмотреть профиль Найти все сообщения от kirilvlasuk
 
Регистрация: 23.06.2014
Сообщений: 11

Клиент.
Ответить с цитированием
  #5 (permalink)  
Старый 13.10.2014, 20:15
Интересующийся
Отправить личное сообщение для kirilvlasuk Посмотреть профиль Найти все сообщения от kirilvlasuk
 
Регистрация: 23.06.2014
Сообщений: 11

Сообщение от danik.js Посмотреть сообщение
А если заюзать HTML-парсер? Это клиентский или серверный скрипт?
Что за HTML парсер?
Ответить с цитированием
  #6 (permalink)  
Старый 13.10.2014, 20:19
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ну если кроссбраузерность не нужна, то можно заюзать DOMParser

<textarea id='test'>
<body>
<a onclick="document.fireEvent('goodsTitleClick',{extend_event:[{name:'goods_id',value:1558037}]});" href="http://ссылка">
            текст
            </a>
</body>
</textarea>
<script>
(function(){

var parser = new DOMParser();
var doc = parser.parseFromString(test.value, 'text/html');
var link = doc.getElementsByTagName('a')[0];
alert(link.outerHTML);
})();
</script>


outerHTML - тоже не кроссбраузерное свойство, но это решаемо.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 13.10.2014, 20:33
Интересующийся
Отправить личное сообщение для kirilvlasuk Посмотреть профиль Найти все сообщения от kirilvlasuk
 
Регистрация: 23.06.2014
Сообщений: 11

Сообщение от danik.js Посмотреть сообщение
Ну если кроссбраузерность не нужна, то можно заюзать DOMParser

<textarea id='test'>
<body>
<a onclick="document.fireEvent('goodsTitleClick',{extend_event:[{name:'goods_id',value:1558037}]});" href="http://ссылка">
            текст
            </a>
</body>
</textarea>
<script>
(function(){

var parser = new DOMParser();
var doc = parser.parseFromString(test.value, 'text/html');
var link = doc.getElementsByTagName('a')[0];
alert(link.outerHTML);
})();
</script>


outerHTML - тоже не кроссбраузерное свойство, но это решаемо.
Дело в том что там очень много тегов "а" и их содержимое очень похоже. Так что нужно максимально приближено. Вот черканул регулярку но что то не работает, можешь подсказать что не так.
var found = textCut[0].match(/<a onclick="document.fireEvent('goodsTitleClick',{extend_event:[{name:'goods_id',value:.*}]});" href="http:\/\/rozetka.com.ua\/.*\/">\s.*\s<\/a>/);
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
регулярные выражения remember_me Общие вопросы Javascript 2 26.12.2013 14:56
Составить регулярные выражения ($) Zero Tolerance Общие вопросы Javascript 10 19.11.2013 13:14
Регулярные выражения для javascript qwert_ukg Общие вопросы Javascript 3 20.04.2012 13:45
нежадные регулярные выражения KOLANICH Общие вопросы Javascript 2 12.12.2010 01:08
Функции поиска и замены строк или регулярные выражения? Armen Общие вопросы Javascript 1 01.01.2010 12:35