• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

string – 如何在php中截取字符串“xxx_xxxx_IP地址_xxxxxxxx_xxxxxx”中的IP地址呢?

php 搞代码 3年前 (2022-01-25) 14次浏览 已收录 0个评论
文章目录[隐藏]

在PHP中,一个字符串比如“xxx_xxxx_10.136.132.61_xxxxxxxx_xxxxxx”,怎么得到其中的“10.136.132.61”这一部分呢。

因为IP地址长短不一,所以我一开始想的substr是不适用的。如果寻找“_”的位置的话,因为IP前后都有两个“_”,所以也不行。

除了IP地址长度不确定,其他的长度是确定的,格式也是确定的,都是“xxx_xxxx_IP地址_xxxxxxxx_xxxxxx”这个格式,x表示一个字符

谢谢大家帮助!

回复内容:

在PHP中,一个字符串比如“xxx_xxxx_10.136.132.61_xxxxxxxx_xxxxxx”,怎么得到其中的“10.136.132.61”这一部分呢。

因为IP地址长短不一,所以我一开始想的substr是不适用的。如果寻找“_”的位置的话,因为IP前后都有两个“_”,所以也不行。

除了IP地址长度不确定,其他的长度是确定的,格式也是确定的,都是“xxx_xxxx_IP地址_xxxxxxxx_xxxxxx”这个格式,x表示一个字符

谢谢大家帮助!

如果你能确定其他字符串没有类IP的格式的话才可以匹配

<code>$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];</code>

不懂php,不过这个问题可以回答下,一,正则匹配。二,字符串切割,切个头切个尾。

用正则吧

<code>$data = 'xxx_xxxx_10.136.132.61_xxxxxxxx_xxxxxx';$preg = '/[\d\.]+/i';preg_match($preg, $data, $matches);var_dump($matches);</code>

explode函数搞定

<code class="php">$str = 'xxx_xxxx_10.136.132.61_xxxxxxxx_xxxxxx';$arr = explode('_', $str);print_r($arr);</code>

我自问自答一下,可以用substr($str,9,-16)

<code>explode('_', $str)[2]</code>

本文来源gao@!dai!ma.com搞$$代^@码!网!搞gaodaima代码

用正则可以非常灵活,而用explode,或者substr,都是投机取巧。3L是正解

支持explode,简单省事,反正格式已固定


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:string – 如何在php中截取字符串“xxx_xxxx_IP地址_xxxxxxxx_xxxxxx”中的IP地址呢?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址