ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #16231  
Старый 04.06.2010, 23:06
Аватар для pavl1k_fan@mail.ru
pavl1k_fan@mail.ru
Новичок
Регистрация: 03.07.2009
Сообщений: 8
Провел на форуме:
491472

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

Anarh1st, может код покажешь?)
 
Ответить с цитированием

  #16232  
Старый 04.06.2010, 23:25
Аватар для Anarh1st
Anarh1st
Новичок
Регистрация: 19.05.2010
Сообщений: 14
Провел на форуме:
76076

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

$stop = strpos($ist,$txt2,$start+strlen($txt1));
 
Ответить с цитированием

  #16233  
Старый 04.06.2010, 23:37
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


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

Означает, что смещение, которое ты задаешь ($start+strlen($txt1)) больше длины строки.
То есть ты ищешь в строке вхождения с символа с номером offset, а у тебя строка короче.
 
Ответить с цитированием

  #16234  
Старый 05.06.2010, 00:01
Аватар для foma9999
foma9999
Новичок
Регистрация: 05.01.2010
Сообщений: 9
Провел на форуме:
13018

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

Имеется код:

<div class="post clearFix">
<div id="postContainer34314752">
<div id="post34314752" class="postData clearFix">
<div class="info">
<div>
<a href="id53739187">
<img src="http://cs9213.vkontakte.ru/u53739187/c_471537e5.jpg" alt=""/>
</a>
</div>
<div class="postIndex">#6863</div>
</div><div class="postBody">
<div class="postHeader">
<span class="postAuthor"><a href="id53739187">Виталик Димитров</a></span> <span class="timestamp">сегодня в 23:20</span>
</div>
<div class="postMessage" id="comment34314752" style="width: 375px; overflow: hidden;">логинишься на <a href='http://vkontakte.ru'>http://vkontakte.ru</a> или <a href='http://vk.com'>http://vk.com</a> ?</div>
</div>
<div class="postOptions" id="actions34314752">
<ul id="nav">
<li><a href='mail.php?act=write&to=53739187'>Сообще ние</a></li><li><a href='javascript: report_spam(34314752)'>Это спам</a></li>
</ul>
</div>
</div>
</div>
</div><a name = "n6864"></a>




Как из этого кода сграббить
1) id53739187
2) Виталик Димитров
3) логинишься на <a href='http://vkontakte.ru'>http://vkontakte.ru</a> или <a href='http://vk.com'>http://vk.com</a> ?
4) дату и время
 
Ответить с цитированием

  #16235  
Старый 05.06.2010, 00:17
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


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

PHP код:
<?php
$str
= <<<HTML
<div class="post clearFix"> 
<div id="postContainer34314752"> 
<div id="post34314752" class="postData clearFix"> 
<div class="info"> 
<div> 
<a href="id53739187"> 
<img src="http://cs9213.vkontakte.ru/u53739187/c_471537e5.jpg" alt=""/> 
</a> 
</div> 
<div class="postIndex">#6863</div> 
</div><div class="postBody"> 
<div class="postHeader"> 
<span class="postAuthor"><a href="id53739187">Виталик Димитров</a></span> <span class="timestamp">сегодня в 23:20</span> 
</div> 
<div class="postMessage" id="comment34314752" style="width: 375px; overflow: hidden;">логинишься на <a href='http://vkontakte.ru'>http://vkontakte.ru</a> или <a href='http://vk.com'>http://vk.com</a> ?</div> 
</div> 
<div class="postOptions" id="actions34314752"> 
<ul id="nav"> 
<li><a href='mail.php?act=write&to=53739187'>Сообщение</a></li><li><a href='javascript: report_spam(34314752)'>Это спам</a></li> 
</ul> 
</div> 
</div> 
</div> 
</div><a name = "n6864"></a> 
HTML;
preg_match('|<a href="(.*?)">.*?class="postAuthor">.*?">(.*?)</a>.*?<span class="timestamp">(.*?)</span>.*?style="width: 375px; overflow: hidden;">(.*?)</div>|is'$str$out);
echo 
$out[1]."<br>";
echo 
$out[2]."<br>";
echo 
$out[4]."<br>";
echo 
$out[3]."<br>";
?>
выдаст:

id53739187
Виталик Димитров
логинишься на http://vkontakte.ru или http://vk.com ?
сегодня в 23:20
 
Ответить с цитированием

  #16236  
Старый 05.06.2010, 00:33
Аватар для Anarh1st
Anarh1st
Новичок
Регистрация: 19.05.2010
Сообщений: 14
Провел на форуме:
76076

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

Блин, и что делать?
 
Ответить с цитированием

  #16237  
Старый 05.06.2010, 00:37
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


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

Цитата:
Сообщение от Anarh1st  
Блин, и что делать?
Пересмотреть код так, чтобы смещение не было длинее получаемой строки
 
Ответить с цитированием

  #16238  
Старый 05.06.2010, 00:44
Аватар для Anarh1st
Anarh1st
Новичок
Регистрация: 19.05.2010
Сообщений: 14
Провел на форуме:
76076

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

wildshaman, спасибо, но там никак...
Тогда можешь подсказать, как выполнить это же, но регуляркамий?

PHP код:
$photo grabb($qwe'<div id="profilePhoto" align="center">
   '
'</div>'); 

Последний раз редактировалось Anarh1st; 05.06.2010 в 00:51..
 
Ответить с цитированием

  #16239  
Старый 05.06.2010, 00:56
Аватар для foma9999
foma9999
Новичок
Регистрация: 05.01.2010
Сообщений: 9
Провел на форуме:
13018

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

$connclub2= connect2("http://vkontakte.ru/topic-6968868_23089261", $cookie);
preg_match_all('|<span class="postAuthor"><a href="(.*?)">.*?(.*?)</a>.*?<span class="timestamp">(.*?)</span>.*?style="width: 375px; overflow: hidden;">(.*?)</div>|is', $connclub2, $out2, PREG_SET_ORDER);
for ($i=0;$i<=20; $i++){ if ($out2[1][$i] == 'id30204448'){echo 'good!!!';}else{echo 'bad!!!';} }
sleep(4);
}

Последний раз редактировалось foma9999; 05.06.2010 в 01:33..
 
Ответить с цитированием

  #16240  
Старый 05.06.2010, 00:58
Аватар для foma9999
foma9999
Новичок
Регистрация: 05.01.2010
Сообщений: 9
Провел на форуме:
13018

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

Теперь есть



function grabb($str, $start, $end) {
$start = strpos($str, $start) + strlen($start);
$end = strpos($str, $end, $start);
$result = substr($str, $start, $end - $start);
flush();
return $result;
}
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ