首页 > php截取指定字符串除了正则还有什么方法

php截取指定字符串除了正则还有什么方法

$str=system('ping www.baidu.com');

正在 Ping www.a.shifen.com [115.239.210.27] 具有 32 字节的数据: 来自 115.239.210.27 的回复: 字节=32 时间=25ms TTL=54 来自 115.239.210.27 的回复: 字节=32 时间=25ms TTL=54 来自 115.239.210.27 的回复: 字节=32 时间=26ms TTL=54 来自 115.239.210.27 的回复: 字节=32 时间=26ms TTL=54 115.239.210.27 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 25ms,最长 = 26ms,平均 = 25ms Array

我想截取到里面的ip地址([]中的ip)。求问有几种思路。
我只想到了正则。但是正则还没学到。
想写一个小功能,碰到这个问题不会解决了


<?php

$str='正在 Ping www.a.shifen.com [115.239.210.27] 具有 32 字节的数据: 来自 115.239.210.27 的回复: 字节=32 时间=25ms TTL=54 来自 115.239.210.27 的回复: 字节=32 时间=25ms TTL=54 来自 115.239.210.27 的回复: 字节=32 时间=26ms TTL=54 来自 115.239.210.27 的回复: 字节=32 时间=26ms TTL=54 115.239.210.27 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 25ms,最长 = 26ms,平均 = 25ms Array';
$str=substr($str,strpos($str,'[')+1,strpos($str,']'));
echo substr($str,0,strpos($str,']'));

//echo 115.239.210.27

mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
用这个找出']'首次出现的位置
然后用
string substr ( string $string , int $start [, int $length ] )
截取字符串


preg_match("/\[(\d+\.\d+\.\d+\.\d+)\]/","正在 Ping www.a.shifen.com [115.239.210.27] 具有 32 字节的数据: 来自 115.239.",$matches);
print_r($matches);

【热门文章】
【热门文章】