ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #601  
Старый 23.07.2009, 21:12
RESPECТ
Новичок
Регистрация: 06.02.2009
Сообщений: 10
Провел на форуме:
98658

Репутация: 9
По умолчанию

L I G A, забыл написать, что id00900 - может быть разным, и
PHP код:
<dt>Имя:</dt><dd><div style="width: 140px; overflow: hidden;"
Является явным указателем этой ссылки, т.к. до этого есть такие ссылки...
 

  #602  
Старый 23.07.2009, 21:37
PaCo
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
Провел на форуме:
1754802

Репутация: 380
По умолчанию

Цитата:
Сообщение от RESPECТ  
L I G A, забыл написать, что id00900 - может быть разным, и
PHP код:
<dt>Имя:</dt><dd><div style="width: 140px; overflow: hidden;"
Является явным указателем этой ссылки, т.к. до этого есть такие ссылки...
PHP код:
$the_text=<<<HTML
<dt>Имя:</dt><dd>
<div style="width: 140px; overflow: hidden;"><a href="/id00900">вытащить
_этот_текст</a></div>
</dd>
<dt>Имя:</dt><dd>
<div style="width: 140px; overflow: hidden;"><a href="/id00900">вытащить_этот_текст_2</a></div>
</dd>
HTML;
preg_match_all('#<div style="width: 140px; overflow: hidden;"><a href=.*[^>]>(.*)</a>#isU',$the_text,$match);
print_r($match); 
 

  #603  
Старый 23.07.2009, 21:40
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

PHP код:
<pre>
<?php 
$a 
'<dt>Имя:</dt><dd><div style="width: 140px; overflow: hidden;"><a href="/id00900">вытащить_этот_текст</a></div></dd>';
preg_match_all('|<dt>.*</dt><dd><div style=.*><a href=.*>(.*)</a></div></dd>|Ui',$a,$res);
print_r($res[1]);
?>
</pre>
 

  #604  
Старый 25.07.2009, 14:03
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

как распарсить строку типа

PHP код:
{"userId":"24389417527847511997","menuType":"User","fio":"Ольга Широкова (  ..."}</div></div></a></div></td></tr></table></div><div><img class="online" 
делаю так:
PHP код:
preg_match_all('/{"userId":"([0-9]*)","menuType":"User","fio":"(.{0,30})"}<\/div><\/div><\/a><\/div><\/td><\/tr><\/table><\/div><div><img class="online"/'$body$match); 
не находит из-за символов " ( ..."
но в других случаях там вообще нет никаких символов, кроме латинских букв и пробелов
 

  #605  
Старый 25.07.2009, 14:18
e4key
Новичок
Регистрация: 24.07.2009
Сообщений: 24
Провел на форуме:
71052

Репутация: 5
По умолчанию

Дикс, лучше кинь пару запросов, чтобы понять что там быть может а что не может.

А так:

Код:
{"userId":"([0-9]+)","menuType":"User","fio":"(.*?)\s\(  ..."}</div></div></a></div></td></tr></table></div><div><img class="online"
У меня отлично работает (python). ХЗ как там в PHP. Может нужно что-то дополнительно экранировать.
 

  #606  
Старый 25.07.2009, 15:13
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

да в принципе уже разобрался, просто увеличил {0, 600}
а концовка "( ..."" -- она вообще нестандартная, её не надо писать
 

  #607  
Старый 25.07.2009, 15:44
L I G A
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
Провел на форуме:
4532332

Репутация: 1196


Отправить сообщение для L I G A с помощью ICQ
По умолчанию

PHP код:
<?php   
$code
='{"userId":"24389417527847511997","menuType":"User","fio":"Ольга Широкова (  ..."}</div></div></a></div></td></tr></table></div><div><img class="online" )';   
preg_match_all('/(?<!"userId":")(\d)+","menuType":"User","fio":"(.{0,30})(?=\(  ..."}<\/div><\/div><\/a><\/div><\/td><\/tr><\/table><\/div><div><img class="online")/i'$code$matches);   
echo 
"<pre>";   
print_r ($matches[0][0]);   
echo 
"</pre>";   
?>
 

  #608  
Старый 25.07.2009, 19:50
alwex
Участник форума
Регистрация: 14.12.2008
Сообщений: 140
Провел на форуме:
186812

Репутация: 14
По умолчанию

помогите, написал регулярку, но не правильно почему-то...

вот есть текст:

Цитата:
<a href="/title/(любое)/" ТУТ ТОЖЕ ЛЮБОЙ ТЕКСТ>Тут тоже любой текст</a>
и мне надо что бы оно выдировало это с текста. я сделал:

Цитата:
preg_match_all('/<a href="\/title\/(tt\d{1,8})\/"[^>]*>([^<]+)<\/a>/',$imdb_site_result,$results, PREG_SET_ORDER )
 

  #609  
Старый 25.07.2009, 19:57
L I G A
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
Провел на форуме:
4532332

Репутация: 1196


Отправить сообщение для L I G A с помощью ICQ
По умолчанию

\d - все цифры)
и напиши что выдерать.
 

  #610  
Старый 25.07.2009, 20:00
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

Репутация: 389
По умолчанию

да выучи ты уже реглярки

PHP код:
<?php

$text 
'<a href="/title/(любое)/" ТУТ ТОЖЕ ЛЮБОЙ ТЕКСТ>Тут тоже любой текст</a>';
preg_match_all('/<a href="\/title\/([^"]*)"([^>]*)>([^>]*)<\/a>/'$text$match);

print_r($match);

?>
Код:
Array
(
    [0] => Array
        (
            [0] => <a href="/title/(любое)/" ТУТ ТОЖЕ ЛЮБОЙ ТЕКСТ>Тут тоже любой текст</a>
        )

    [1] => Array
        (
            [0] => (любое)/
        )

    [2] => Array
        (
            [0] =>  ТУТ ТОЖЕ ЛЮБОЙ ТЕКСТ
        )

    [3] => Array
        (
            [0] => Тут тоже любой текст
        )

)
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ