|
|
|
|
|
для: serg666
(16.01.2006 в 10:10)
| | К изучению регулярных выражений следует подходить как к изучению отдельного языка. На сегодняшний момент наиболее полным руководством является книга Дж. Фридла "Регулярные выражения" | |
|
|
|
|
|
|
|
для: Евгений Петров
(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 отключает "режим жадности" т.е. будет искаться не последнее вхождение а первое. | |
|
|
|
|
|
|
|
для: Евгений Петров
(15.01.2006 в 14:52)
| | спасиб (: а не мог бы ты обяснит что и куда ? а то встовляю например другую ссылку непоказвает вообще ничего
http://www.bloodyworld.com/index.php?file=infouser&uid=3131313930
и не показывает все что есть в том ряду | |
|
|
|
|
|
|
|
для: cheops
(15.01.2006 в 13: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];
?>
|
| |
|
|
|
|
|
|
|
для: serg666
(15.01.2006 в 12:41)
| | Хм... что-то не могу загрузить указанную в file_get_contents() страницу.
PS Разбор страниц обычно производится при помощи регулярных выражений | |
|
|
|
|
|
|
| Грабить оно грабит но и грабит куча лишних тегов подскажите как их убрать (:
вот код
<?
$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;?>
|
Мне нужно чтоб выдовало : где находиться персонаж и т.д все что в этом ряду
или подскажите как грабить определенный рядок и символ
Буду очень блогодарен (: | |
|
|
|
|