字符串操作——截断IP地址的最后一部分


String manipulation - cutting off the last part of an IP address

我想取存储在$_SERVER['REMOTE_ADDR'](例如127.0.0.1)中的ip地址,并切断最后一部分(最后一个点后的数字)。我的问题是,我不知道我切断的字符串的长度(有时有一个数字,有时有更多)。

我想将未被截断的部分存储在变量中。这里我称之为$output

在查看php手册一段时间后(我是php新手),我想出了这个$output = substr(strrchr($_SERVER['REMOTE_ADDR'], '.'), 0);,但这只会输出字符串的最后一部分(在本例中,最后一个数字)。

谁能解释一下我做错了什么,以及如何解决它?

substr()是好的,但是代替strrchr(),使用strrpos()来获得.最后出现的位置:

echo substr($string, 0, strrpos($string, '.'));

您可以将strrpossubstr结合使用

<?php
$string = '127.0.0.1'; 
//posistion last dot '.
$pos = strrpos($string, '.');
//Return part of a string
$part = substr($string, 0, $pos);
//output
echo $part;
?>