|
|
|
| Имеется текст пинга:
PING site.ru (177.213.33.112) 56(84) bytes of data. 64 bytes from collocation.trans-net.su (177.213.33.112): icmp_seq=1 ttl=64 time=0.017 ms 64 bytes from collocation.trans-net.su (177.213.33.112): icmp_seq=2 ttl=64 time=0.029 ms 64 bytes from collocation.trans-net.su (177.213.33.112): icmp_seq=3 ttl=64 time=0.028 ms --- site.ru ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 0.017/0.024/0.029/0.007 ms rtt min/avg/max/mdev = 0.017/0.024/0.029/0.007 ms
из которого нужно вытащить процент потерь и среднее время. Как это сделать проще всего? | |
|
|
|
|
|
|
|
для: denvor
(18.09.2009 в 00:44)
| | Можно поступить следующим образом
<?php
$text = 'PING site.ru (177.213.33.112) 56(84) bytes of data.
64 bytes from collocation.trans-net.su (177.213.33.112):
icmp_seq=1 ttl=64 time=0.017 ms 64 bytes
from collocation.trans-net.su (177.213.33.112): icmp_seq=2
ttl=64 time=0.029 ms 64 bytes from collocation.trans-net.su
(177.213.33.112): icmp_seq=3 ttl=64 time=0.028 ms --- site.ru
ping statistics --- 3 packets transmitted, 3 received, 0%
packet loss, time 1999ms rtt min/avg/max/mdev =
0.017/0.024/0.029/0.007 ms rtt min/avg/max/mdev =
0.017/0.024/0.029/0.007 ms';
$pattern = '|[\d]+%|is';
preg_match($pattern, $text, $out);
echo $out[0];
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(18.09.2009 в 08:18)
| | Просто и изящно :)
Большое спасибо!
По второму вопросу я составил вот такое - '|(mdev = [0-9\.]{1,7}[\/])([0-9\.]{1,7})|si', сейчас проверю
А модификатор s что делает? | |
|
|
|
|
|
|
|
для: denvor
(18.09.2009 в 22:28)
| | >А модификатор s что делает?
В принципе он здесь не нужен - он позволяет распространить регулярное выражение на несколько строк (по умолчанию соответствие ищется на каждой отдельной строке). | |
|
|
|