Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Регулярное выражение - помогите разобраться

Сообщения:  [1-10]    [11-20]  [21-21] 

 
 автор: doberman364   (03.12.2005 в 13:38)   письмо автору
 
   для: cheops   (01.12.2005 в 00:45)
 

Огромное спасибо но мое выражение работает лучше !
preg_match_all("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]*dska[^\"]*)[$\"]/",$buf,$url);

С уважением Сергей!!!

   
 
 автор: cheops   (01.12.2005 в 00:45)   письмо автору
 
   для: doberman364   (30.11.2005 в 17:31)
 

Можно усовершенствовать регулярное выражение следующим образом
<?php 
preg_match_all
("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]*dska[^ \"'>]*)[\"']*>/",$buf,$url); 
?>

   
 
 автор: doberman364   (30.11.2005 в 17:31)   письмо автору
 
   для: cheops   (29.11.2005 в 21:53)
 

мы близки к победе строки отбираются нужные , только вывод немного больше чем нужно
http://www.dska.ru/arm.htm" http://www.dska.ru/insh.htm" http://www.dska.ru/dok.htm" TARGET=" blank" http://www.dska.ru/dop.htm" TARGET=" blank" http://www.dska.ru/mos.htm" class="main-menu" http://www.dska.ru/rus.htm" class="main-menu" http://www.dska.ru/str.htm" class="main-menu" http://dska.ru/delit.php" class="main-menu" http://villa.dska.ru" target="W12" class="main-menu" http://dska.ru/rest" target="W17" class="main-menu" http://dska.ru/rest.htm" target="W11" class="main-menu" http://dska.ru/designer.htm" target="W6" class="main-menu" http://dska.ru/anscot.htm" target="W16" class="main-menu" http://dska.ru/germabutil.htm" target="W11" class="main-menu" http://dska.ru/as.htm" target="W5" class="main-menu" http://dska.ru/dom.htm" target="W9" class="main-menu" http://dska.ru/mag.htm" target="W14" class="main-menu" http://dska.ru/nov.htm" target="W15" class="main-menu" http://dska.ru/inv.htm" target="W16" class="main-menu" http://dska.ru/stroi.htm" target="W15" class="main-menu

НУ ДОВАЙ ДОЖМЕМ!!!!!!!!!
С уваженеим Сергей!

   
 
 автор: cheops   (29.11.2005 в 21:53)   письмо автору
 
   для: doberman364   (29.11.2005 в 17:37)
 

Необходимо исправить выражение следующим образом
<?php
preg_match_all
("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]*dska[^>]*)>/",$buf,$url);
?>

   
 
 автор: doberman364   (29.11.2005 в 17:37)   письмо автору
 
   для: doberman364   (29.11.2005 в 14:40)
 

выражение
preg_match_all("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]*)dska[^>]*>/",$buf,$url);
отбирает нужное но выводит строки почемуто не целиком вот так
http://www. http://www. http://www. http://www. http://www. http://www. http://www. http:// http://villa. http:// http:// http:// http:// http:// http:// http:// http:// http:// http:// http://
С уважением Сергей!

   
 
 автор: doberman364   (29.11.2005 в 14:40)   письмо автору
 
   для: cheops   (29.11.2005 в 00:33)
 

Общей задачей скрипта является составление карты сайта , т.е скрипт ищет все ссылки на первой странице переходит по первой из них ищет там все сылки и т.д. только он пытается составить карту всего интернета , а мне надо что бы он не выходил за пределы указанного сайта.
Исходное выражение вот
preg_match_all("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]+)[^>]*>/",$buf,$url);
С уваженеим Сергей !

   
 
 автор: cheops   (29.11.2005 в 00:37)   письмо автору
 
   для: doberman364   (28.11.2005 в 21:32)
 

[ '\"\n\r\t] - один символ: либо пробел, либо перевод строки, либо возврат каретки, либо табуляция, либо одинарная кавычка, либо двойная кавычка;

[ '\"\n\r\t]* - любое число указанных символов, в том числе и 0

[^ \"'>\r\n\t#] - любой символ кроме пробела, двойной или одинарной кавычки, возврата каретки, перевода строки, символа табуляции и диеза #. Символ строго один, так как нет модификатора *, +, ?.

   
 
 автор: cheops   (29.11.2005 в 00:33)   письмо автору
 
   для: doberman364   (28.11.2005 в 21:13)
 

Стоп. Давайте озвучим задачу. Осущетсвляется поиск в тексте приведённом выше http:// или всё-таки ссылок вида <a href=... >. Поэтому лучше сразу отталкиваться от образца - приведённый выше текст являтеся образцом? Если нет, то где образец - дайте точную ссылку, если не сложно.

   
 
 автор: doberman364   (28.11.2005 в 21:32)   письмо автору
 
   для: doberman364   (28.11.2005 в 21:20)
 

что обозначает [ '\"\n\r\t]*([^ \"'>\r\n\t#]
С уваженеим Сергей

   
 
 автор: doberman364   (28.11.2005 в 21:20)   письмо автору
 
   для: doberman364   (28.11.2005 в 21:13)
 

впрочем "|/<a[^>]*href[^=]*=|is" результат тоже нулевой
С уважением Сергей

   

Сообщения:  [1-10]    [11-20]  [21-21] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования