| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | «  : 12-07-2005 04:43 »  |  | 
 
 Хорошо знающих регулярные выражения прошу о помощи   есть у меня два каталога хтмл файлов из которых мне нужно вытащить определённую строку. Из одного каталога такую : <span class="label">Любой текст переменной величины</span>
а из другого такую : <a class="detail_email" href="javascript:emailpage('какой-то_урл_адрес')">my@email.com</a>
Сделал бы вручную, да страниц таких очень много   |  
						| 
								|  |  
								| « Последнее редактирование: 15-12-2007 16:23 от Алексей1153++ » |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	| 
			| 
					
						| PantiL 
								Гость
 | 
								|  | « Ответ #1 : 12-07-2005 06:17 »  |  | 
 
 Первая строка будет соответствовать следующему регулярному выражению '<span class="label">[[:alnum:]]*</span>'
А во второй "какой-то урл" меняться будет? |  
						| 
								|  |  
								| « Последнее редактирование: 15-12-2007 16:24 от Алексей1153++ » |  Записан | 
 |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #2 : 12-07-2005 06:30 »  |  | 
 
 А во второй "какой-то урл" меняться будет?
 Да, всегда разный будет, но всегда вида :  href="javascript:emailpage('index.php-page=detail&action=email&id=1DE0EE10-94B8-11D6-B572-00E0299BD066&aid=blabla@bla.com.htm'/*tpa=http://www.url.com/index.php?page=detail&action=email&id=1DE0EE10-94B8-11D6-B572-00E0299BD066&aid=blabla@bla.com*/);" |  
						| 
								|  |  
								| « Последнее редактирование: 15-12-2007 16:25 от Алексей1153++ » |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #3 :  12-07-2005 09:34 »   |  | 
 
 <span class="label">Любой текст переменной величины</span>/<span class="label">([^<]*)<\/span>/is
 На выходе текст между тегами.
 
 <a class="detail_email" href="javascript:emailpage('какой-то_урл_адрес')">my@email.com</a>
 /<a class="detail_email" href="javascript:emailpage\('([^']*)'\)">(^[^<]*)<\/a>/is
 На выходе два значения: url и текст между тегами.
 |  
						| 
								|  |  
								| « Последнее редактирование: 15-12-2007 16:26 от Алексей1153++ » |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #4 : 13-07-2005 04:32 »  |  | 
 
 RXL, огромный сенькс    Вот знаю что надо учить регекспы, а всё ленюсь   |  
						| 
								|  |  
								|  |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #5 : 20-07-2005 06:25 »  |  | 
 
 Чёй то вот это :   /<a class="detail_email" href="javascript:emailpage\('([^']*)'\)">(^[^<]*)<\/a>/is  не отрабатывает    Как правильно подставить это в preg_match_all ? Кавычки тут и двойные и одинарные есть. И если я, подставляя это выражение как стринг в функцию, использую слэши дополнительные, то ессесно не срабатывает регексп   |  
						| 
								|  |  
								| « Последнее редактирование: 15-12-2007 16:26 от Алексей1153++ » |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	| 
			| 
					
						| PooH 
								Глобальный модератор
								
								   Offline 
								Пол:    
								... и можно без хлеба!
								
								
								
								
								
							 | 
								|  | « Ответ #6 : 20-07-2005 09:27 »  |  | 
 
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Удачного всем кодинга! -=x[PooH]x=- |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #7 : 20-07-2005 20:27 »  |  | 
 
 Опечатка вышла - "^" затесалась. Внутри кавычек можно вводить кавычки того же типа, но со слешем. Дрессеровке поддаются и одинарные и двойные. <?php
 $text="<a class=\"detail_email\" href=\"javascript:emailpage('какой-то_урл_адрес')\">my@email.com</a>";
 
 preg_match("/<a class=\"detail_email\" href=\"javascript:emailpage\('([^']*)'\)\">([^<]*)<\/a>/is",$text,$a);
 
 print join(' * ',$a);
 
 ?>
 |  
						| 
								|  |  
								| « Последнее редактирование: 15-12-2007 16:27 от Алексей1153++ » |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #8 : 21-07-2005 04:52 »  |  | 
 
 RXL, благодарю   |  
						| 
								|  |  
								|  |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #9 : 21-07-2005 10:08 »  |  | 
 
 Соотв., если в строке возможно больше одной искомой последовательности, то используется preg_match_all(). preg_match_all($regexp, $text, $a, PREG_SET_ORDER);http://www.php.net/manual/ru/function.preg-match-all.php |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #10 : 21-07-2005 10:35 »  |  | 
 
 Спасибо за ссылку, но в ней нет необходимости    Я это уже успел прочитать и использовать   |  
						| 
								|  |  
								|  |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	|  |