84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
在PHP中,一个字符串比如“xxx_xxxx_10.136.132.61_xxxxxxxx_xxxxxx”,怎么得到其中的“10.136.132.61”这一部分呢。
因为IP地址长短不一,所以我一开始想的substr是不适用的。如果寻找“_”的位置的话,因为IP前后都有两个“_”,所以也不行。
除了IP地址长度不确定,其他的长度是确定的,格式也是确定的,都是“xxx_xxxx_IP地址_xxxxxxxx_xxxxxx”这个格式,x表示一个字符
谢谢大家帮助!
学习是最好的投资!
如果你能确定其他字符串没有类IP的格式的话才可以匹配
$str = 'xxx_xxxx_10.136.132.61_xxxxxxxx_xxxxxx'; $patten = '(/25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})){3}/'; preg_match($patten,$str,$result); var_dump($result); $ip = $result[0];
不懂php,不过这个问题可以回答下,一,正则匹配。二,字符串切割,切个头切个尾。
用正则吧
$data = 'xxx_xxxx_10.136.132.61_xxxxxxxx_xxxxxx'; $preg = '/[\d\.]+/i'; preg_match($preg, $data, $matches); var_dump($matches);
explode函数搞定
$str = 'xxx_xxxx_10.136.132.61_xxxxxxxx_xxxxxx'; $arr = explode('_', $str); print_r($arr);
我自问自答一下,可以用substr($str,9,-16)
explode('_', $str)[2]
用正则可以非常灵活,而用explode,或者substr,都是投机取巧。3L是正解
支持explode,简单省事,反正格式已固定
如果你能确定其他字符串没有类IP的格式的话才可以匹配
不懂php,不过这个问题可以回答下,一,正则匹配。二,字符串切割,切个头切个尾。
用正则吧
explode函数搞定
我自问自答一下,可以用substr($str,9,-16)
用正则可以非常灵活,而用explode,或者substr,都是投机取巧。3L是正解
支持explode,简单省事,反正格式已固定