Home > Backend Development > PHP Tutorial > php截取指定字符串除了正则还有什么方法

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

WBOY
Release: 2016-06-06 20:22:15
Original
1437 people have browsed it

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

<code>正在 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</code>
Copy after login
Copy after login

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

回复内容:

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

<code>正在 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</code>
Copy after login
Copy after login

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

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

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

<code><?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</code></code>
Copy after login
Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template