Строковая функция, получение ip из строки

12
ewg777
На сайте с 04.06.2007
Offline
225
#11
el_aspect:

У меня Версия PHP: 4.4.2

Тогда strpos + substr

EA
На сайте с 15.02.2007
Offline
29
#12

ewg777, огромное спасибо.

Сделал так:

if (strpos($str, ":")) {
$pos = strpos($str, ":");
$str = substr($str, 0, $pos);
}
"Конкурс" (/ru/forum/201132) и "Фото конкурс" (/ru/forum/212504) для DLE.
J
На сайте с 02.02.2009
Offline
53
#13
el_aspect:
это в посте случайно пропустил, дело не в ней :)

preg_match("/[\t ]*([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})[\t ]*:/", $string, $matches)

и

http://seoparser.ru/t/r.php

Не работают, или я чего то не понял.

Нужно чтобы ОДНА функция могла получить IP из ЛЮБОЙ из строк:
123.123.123.123
123.123.123.123:8000

а, только ip без порта?

тогда проще

preg_match_all('|((\d{1,3}\.){3}\d{1,3})|', $content, $ips);

print_r($ips[1]);

http://seoparser.ru/t/r.php переделал

EA
На сайте с 15.02.2007
Offline
29
#14

jumash, спасибо тоже работает

preg_match_all('|((\d{1,3}\.){3}\d{1,3})|', $str, $ips);
$str = $ips[0][0];
N
На сайте с 06.05.2007
Offline
419
#15

а ведь 678.345.45.45 это не представляет из себя IP :) по-вашему получается что да.

еще гуглите. готовых решений на эту задачу - масса.

Кнопка вызова админа ()
J
На сайте с 02.02.2009
Offline
53
#16
netwind:
а ведь 678.345.45.45 это не представляет из себя IP :) по-вашему получается что да.
еще гуглите. готовых решений на эту задачу - масса.

Пойти по пути наименьшего сопротивления :)

([^\d]|^)(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|[1-9])\.((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){2}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|[1-9])[^\d]

:DDDDDDDD

UPD:

о, поменьше)

([^\d]|^)(([0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.){3}([0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий