我想取存储在$_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, '.'));
您可以将strrpos
与substr
结合使用
<?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;
?>