Форум русскоязычного сообщества Ubuntu


Автор Тема: Парсер проксей на php  (Прочитано 1144 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн R170

  • Автор темы
  • Участник
  • *
  • Сообщений: 144
    • Просмотр профиля
Парсер проксей на php
« : 02 Февраля 2013, 17:19:42 »
Пишу скрипт который будет собирать прокси:
Код: (php) [Выделить]
<?php
$pattern 
'/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,6}$/';

$str "123.211.121.122:1212 asgfafaga aweqttaw 123.123.123.123:2143";

$p preg_split($pattern$str, -1,PREG_SPLIT_NO_EMPTY);

var_dump($p);

?>

Почему $p[0] = 123.211.121.122:1212 asgfafaga aweqttaw 123.123.123.123:2143 ???
Помогите)
« Последнее редактирование: 02 Февраля 2013, 21:09:41 от Zver17 »

Оффлайн Чистый

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3473
  • nix - вот оно счастье...
    • Просмотр профиля
Re: preg_split PHP
« Ответ #1 : 02 Февраля 2013, 19:09:44 »
а если убрать обозначение начало и конец (^ и $) ?
и почему порт может быть 6 значным, когда макс порт 65535
Тестовый репозиторий kdeNeur ppa:devcode/kdeneur
各々が死ぬことをどのように決定する

Оффлайн R170

  • Автор темы
  • Участник
  • *
  • Сообщений: 144
    • Просмотр профиля
Re: preg_split PHP
« Ответ #2 : 02 Февраля 2013, 19:33:22 »
а если убрать обозначение начало и конец (^ и $) ?
и почему порт может быть 6 значным, когда макс порт 65535
Спасибо большое

Пользователь решил продолжить мысль 02 Февраля 2013, 21:04:55:
Код: (php) [Выделить]
<?php
$pattern 
'/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}/';

$str .= file_get_contents('http://spys.ru/proxylist1/');

echo 
preg_match_all($pattern$str$p);

for(
$c=0;$c!=count($p[0]);$c++){
echo 
$p[0][$c] . "<br>";
}
?>

на выходе strlen($str) = 269340 а count($p) = 0 ???
Почему???

Чистый: Народ, блин, незабываем про теги для вставки кода!
« Последнее редактирование: 04 Февраля 2013, 14:06:51 от Чистый »

Оффлайн mironich

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: Парсер проксей на php
« Ответ #3 : 04 Февраля 2013, 11:05:39 »
а если убрать обозначение начало и конец (^ и $) ?
и почему порт может быть 6 значным, когда макс порт 65535
Спасибо большое

Пользователь решил продолжить мысль 02 Февраля 2013, 21:04:55:
Код: (php) [Выделить]
<?php
$pattern 
'/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}/';

$str .= file_get_contents('http://spys.ru/proxylist1/');

echo 
preg_match_all($pattern$str$p);

for(
$c=0;$c!=count($p[0]);$c++){
echo 
$p[0][$c] . "<br>";
}
?>

на выходе strlen($str) = 269340 а count($p) = 0 ???
Почему???
$str инициализирована?
А то оператор .= применяеться только к существующей переменной..
И скрипт работать не будет корректно, там порты зашифрованы js-ом немного.
« Последнее редактирование: 04 Февраля 2013, 14:07:16 от Чистый »

Оффлайн R170

  • Автор темы
  • Участник
  • *
  • Сообщений: 144
    • Просмотр профиля
Re: Парсер проксей на php
« Ответ #4 : 04 Февраля 2013, 19:18:13 »
а если убрать обозначение начало и конец (^ и $) ?
и почему порт может быть 6 значным, когда макс порт 65535
Спасибо большое

Пользователь решил продолжить мысль 02 Февраля 2013, 21:04:55:
Код: (php) [Выделить]
<?php
$pattern 
'/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}/';

$str .= file_get_contents('http://spys.ru/proxylist1/');

echo 
preg_match_all($pattern$str$p);

for(
$c=0;$c!=count($p[0]);$c++){
echo 
$p[0][$c] . "<br>";
}
?>

на выходе strlen($str) = 269340 а count($p) = 0 ???
Почему???
$str инициализирована?
А то оператор .= применяеться только к существующей переменной..
И скрипт работать не будет корректно, там порты зашифрованы js-ом немного.
Ето фрагмент $str раньше была использована, вот почему если $str = file_get_contents('http://spys.ru/');
работает, а если $str = file_get_contents('http://spys.ru/proxylist1/'); то нет???

 

Страница сгенерирована за 0.037 секунд. Запросов: 25.