Забыли пароль?
Запросите новый здесь.

Автор темы: Altx
ID темы: 1027
Информация:
Тема содержит 19 сообщения, была просмотрена 3787 раз.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » PHP
 Распечатать тему
Парсинг
Altx
Ребят подскажите как отпарсить эту страницу http://capitalcity.mycombats.com/inf.php?short=1&login=Dont%20Panic и вставить в user_infopanel
Нужно выводить align= klan= login= level=
Заранее спасибо
 
jikaka
первым делом, почитай доки, как и что
 
Web
Altx
Про парсер я на сайте не нашел в гугле задал ниче не понятно(
 
Altx
Вообщем понял как сделать токо не могу впихнуть в User_infopanel

<?PHP
$data = file_get_contents('http://capitalcity.mycombats.com/inf.php?short=1&login=тут должен быть логин' );
$data = iconv('windows-1251','utf-8',$data);
$data = preg_replace('/\n|\r\n/ui', ';',$data);
if(preg_match('/level=([0-9]*);(?:.*)align=(.*?);(?:.*)klan=(.*?);/ui', $data, $out)) {

if(isset($out[2]))
echo '<img src="http://mycombats.com/i/align_'.$out[2].'.gif" <br>';
else
echo 'User didn\'t have align';

if(isset($out[3]))
echo '<img src="http://mycombats.com/i/klan/'.$out[3].'.gif" <br>';
else
echo 'User didn\'t have klan';


if(isset($out[1]))
echo '<b>['.$out[1].']</b><br>';
else
echo 'User didn\'t have level';


} else
echo 'Find nothing';



?>
 
Polarfox
Без кэша будет набегать исходящий траф и тормозиться серв.

Те блоки что с if(isset ... ставь куда нужно и будет вывод.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web
Rush
через аякс повесь и пох на все
 
Web
Altx
К сожалению я в этом не силен(((
 
Altx
Сообвственно сам код. Не понимаю как его вставить

<<?PHP
$data = file_get_contents('http://capitalcity.mycombats.com/inf.php?short=1&login=тут должен быть логин с сайта ' );
$data = iconv('windows-1251','utf-8',$data);
$data = preg_replace('/\n|\r\n/ui', ';',$data);
if(preg_match('/level=([0-9]*);(?:.*)align=(.*?);(?:.*)klan=(.*?);/ui', $data, $out)) {

if(isset($out[2])) //отвечает за склонность
echo '<img src="http://mycombats.com/i/align_'.$out[2].'.gif" <br>';
else
echo 'User didn\'t have align';

if(isset($out[3])) //отвечает за клан
echo '<img src="http://mycombats.com/i/klan/'.$out[3].'.gif" <br>';
else
echo 'User didn\'t have klan';




if(isset($out[1])) // отвечает за лвл.
echo '<b>['.$out[1].']</b><br>';
else
echo 'User didn\'t have level';

preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
"<b></b><div align=\"left\"></div>",
$out, PREG_SET_ORDER);
echo $out[0][0] . "" . $out[0][1] . "\n"; // выводит если игрок без склонности
echo $out[1][0] . "" . $out[1][1] . "\n"; // выводит если игрок без клана
} else
echo 'Find nothing';


?>

Самая строчка у меня так идет

openside($userdata['user_name']." <a href='http://mycombats.com/inf.php?login=".$userdata['user_name']."' target='_blank''><img src='/inf.gif' border='0'></a>" );
Изменил(а) Altx, 10.11.2012 01:51
 
Altx
Нужно чтобы вывели вот так http://s017.radikal.ru/i443/1211/62/e2216bb951a0.png

1. Склонка (или ее нет) 2.Клан (или его нет) 3.Ник игрока (на сайте) 4.лвл 5.(ссылаеться на персонажа)

Цену предлагайте
 
Dino
Вот это:
Скачать исходники  Код

//=====================
$data = file_get_contents('http://capitalcity.mycombats.com/inf.php?short=1&login=Dont%20Panic' );
$data = iconv('windows-1251','utf-8',$data);
$data = preg_replace('/\n|\r\n/ui', ';',$data);
if(preg_match('/level=([0-9]*);(?:.*)align=(.*?);(?:.*)klan=(.*?);/ui', $data, $out)) {

if(isset($out[2])) //отвечает за склонность
$game['sclon']= '<img src="http://mycombats.com/i/align_'.$out[2].'.gif" <br>';
else
$game['sclon']= 'User didn\'t have align';

if(isset($out[3])) //отвечает за клан
$game['klan']= '<img src="http://mycombats.com/i/klan/'.$out[3].'.gif" <br>';
else
$game['klan']='User didn\'t have klan';

if(isset($out[1])) // отвечает за лвл.
$game['lvl']= '<b>['.$out[1].']</b><br>';
else
$game['lvl']='User didn\'t have level';

preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
"<b></b><div align=\"left\"></div>",
$out, PREG_SET_ORDER);
$no_sclon= $out[0][0] . "" . $out[0][1] . "\n"; // выводит если игрок без склонности
$no_clan= $out[1][0] . "" . $out[1][1] . "\n"; // выводит если игрок без клана
} else

$game= 'Find nothing';
//=====================




тыкаешь непосредственно до openside($userdata['user_name']); только нужно заменить в коде Dont%20Panic на переменную нужного логина (я так понимаю она будет из базы пользователя вытягиваться)
А вот это:
Скачать исходники  Код

//================
if(is_array($game)){
foreach($game as $key=>$data){
if($data!=""){
echo $data." ";}
}

}else {echo "Find nothing <br>"; }
//================   




впихиваешь в любое удобное место между openside() и closeside()
Ну естественно код сыроват и в данном виде не выводятся нигде переменные $no_clan и $no_sclon, ник игрока и т.д. (в 4 утра мозг не совсем адекватен :)) но основная инфа выводится, остальное можно вывести по аналогии...
 
Altx
Нет ник нада брать с сайта
 
Altx
У меня http://s017.radikal.ru/i403/1211/21/015d198747c1.png вот так получаеться а сообственно нада http://s017.radikal.ru/i443/1211/62/e2216bb951a0.png
 
Altx
Но всеравно спасибо))
 
Polarfox
Rush, ажакс в отличии от жсона ограничен доменом, без проксификации сделать нельзя так.

Вариант с фреймом таких ограничений не имеет.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web
Rush
PolarFox написал:

Rush, ажакс в отличии от жсона ограничен доменом, без проксификации сделать нельзя так.

Вариант с фреймом таких ограничений не имеет.


ну так само собой ограничен (если конечно нет CORS заголовка), но через прокси все элементарно делается. ты наверно не понял, но плюс в том, что запрос будет выполняться асинхронно и не влиять на скорость загрузки страницы
 
Web
Altx
Скажите просто скок стоить будет чтобы добавить в user_info_panel новости, коментарии, форум, user_onlin_panel и список пользователей.
 
mishqa35
Если еще актуально то вот
Загрузить источник  GeSHi: PHP
  1. $data = file_get_contents("http://capitalcity.mycombats.com/inf.php?short=1&login=".$userdata['user_name']);
  2. $data = iconv("windows-1251", "utf-8", $data);
  3. $data = preg_replace("/\n|\r\n/ui", ";", $data);
  4. if(preg_match("/level=([0-9]*);(?:.*)align=(.*?);(?:.*)klan=(.*?);/ui", $data, $out)) {
  5. if(isset($out[2])){ //отвечает за склонность
  6. $scl = "<img src='http://mycombats.com/i/align_".$out[2].".gif'>";
  7. } else {
  8. $scl = "N\A";
  9. }
  10. if(isset($out[3])) { //отвечает за клан
  11. $cln = "<img src='http://mycombats.com/i/klan/".$out[3].".gif'>";
  12. } else {
  13. $cln = "N\A";
  14. }
  15. if(isset($out[1])) { // отвечает за лвл.
  16. $lvl = "<b>[".$out[1]."]</b>";
  17. } else {
  18. $lvl = "N\A";
  19. }
  20. } else {
  21. echo "Find nothing";
  22. }
  23. openside($scl." ".$cln." ".$userdata['user_name']." <a href='http://mycombats.com/inf.php?login=".$userdata['user_name']."' target='_blank''> ".$lvl." <img src='/inf.gif' border='0'></a>");
  24.  
Добавлено за 0.036 секунд, используя GeSHi 1.0.8.10

 
Web
Altx
Большое спасибо!
 
Rush
ab
x1
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Топ 5 пользователей форума
Alex Alex (1,179)   Zaxap Zaxap (1,078)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)