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

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

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

 

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

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

тема: как сграбить код странички?, пожалуйста помогите

Сообщения:  [1-8] 

 
 автор: cheops   (16.01.2006 в 12:29)   письмо автору
 
   для: serg666   (16.01.2006 в 10:10)
 

К изучению регулярных выражений следует подходить как к изучению отдельного языка. На сегодняшний момент наиболее полным руководством является книга Дж. Фридла "Регулярные выражения"

   
 
 автор: serg666   (16.01.2006 в 10:10)   письмо автору
 
   для: Евгений Петров   (15.01.2006 в 16:04)
 

Спасибо Огромное ! очень помогли !
а где можно почитать про все значения регулярных выражений ?

   
 
 автор: Евгений Петров   (15.01.2006 в 16:04)   письмо автору
 
   для: serg666   (15.01.2006 в 15:08)
 

Тогда надо так:
<?
  $cnt 
file_get_contents("http://www.bloodyworld.com/index.php?file=infouser&uid=3131313930");
  
preg_match("/Персонаж находится[\s]*(.*)<\/td>/iU",$cnt,$out);
  echo 
$out[1];
?>

Функция preg_match проверяет соответствие регулярному выражению, в данном случае регулярное выражение:
"/Персонаж находится[\s]*(.*)<\/td>/iU"

На той странице что Вы привели находится код:
... class=distinguishedDark>Мардок:</b> Персонаж находится <font color=green>Online</font>, <b>Выжженая степь</b></td></tr></table></td ...

это как раз то место где находится то что на нужно вырезать. Нам надо вырезать кусок от
"Персонаж находится" до первого "</td>"
Состаляем регулярное выражение:
Персонаж находится[\s]
Означает что поиск начинается от строки "Персонаж находится" [\s]* значит что за этой строкой могут идти 0 или более пробелов либо переносов строк, далее (.*) означает что идут 0 или более любых символов (точка - любой символ * - 0 или более вхождений) ну и дальше "<\/td>". Этим тегом мы заканчиваем поиск бекслеш экранируется (\/) т.к. он является спец символом i в конце рег. выраж значит что поиск будет регистронезависимым а U отключает "режим жадности" т.е. будет искаться не последнее вхождение а первое.

   
 
 автор: serg666   (15.01.2006 в 15:08)   письмо автору
 
   для: Евгений Петров   (15.01.2006 в 14:52)
 

спасиб (: а не мог бы ты обяснит что и куда ? а то встовляю например другую ссылку непоказвает вообще ничего
http://www.bloodyworld.com/index.php?file=infouser&uid=3131313930
и не показывает все что есть в том ряду

   
 
 автор: serg666   (15.01.2006 в 15:03)   письмо автору
 
   для: cheops   (15.01.2006 в 13:52)
 

еслиб я их знал (: я ток начинаю в пхп
а страница отлично работает

   
 
 автор: Евгений Петров   (15.01.2006 в 14:52)   письмо автору
 
   для: serg666   (15.01.2006 в 12:41)
 

<?
  $cnt 
file_get_contents("http://www.bloodyworld.com/index.php?file=infouser&login=Нимец");
  
preg_match("/Персонаж находится[\s]*([^<]+)/i",$cnt,$out);
  echo 
$out[1];
?>

   
 
 автор: cheops   (15.01.2006 в 13:52)   письмо автору
 
   для: serg666   (15.01.2006 в 12:41)
 

Хм... что-то не могу загрузить указанную в file_get_contents() страницу.

PS Разбор страниц обычно производится при помощи регулярных выражений

   
 
 автор: serg666   (15.01.2006 в 12:41)   письмо автору
 
 

Грабить оно грабит но и грабит куча лишних тегов подскажите как их убрать (:
вот код

<?
$cnt
=file_get_contents("http://www.bloodyworld.com/index.php?file=infouser&login=Нимец");
$pos1=strpos($cnt,"Персонаж находится");
$pos2=strpos($cnt,"Подарки");
$out=substr($cnt,$pos1+strip_tags  ("Персонаж находится"),$pos2-$pos1-strlen ("Персонаж находится"));
echo 
$out;?> 


Мне нужно чтоб выдовало : где находиться персонаж и т.д все что в этом ряду
или подскажите как грабить определенный рядок и символ
Буду очень блогодарен (:

   

Сообщения:  [1-8] 

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

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