1

PHPでIPアドレスの最初の3つの部分を取得しようとしています。

たとえば、IPアドレスを次のように考えてみましょう

"1.2.3.4";

それから私は取得したいです

"1.2.3";

前もって感謝します。

4

6 に答える 6

6

これを行うと、最初の 3 つの部分を取得できます。

$nums = explode(".", "1.2.3.4") ;

echo $nums[0]. "." .$nums[1]. "." .$nums[2] ; 

または、次の方法でも実行できます。

$ip = "1.2.3.4";
$dotPosition = strrpos($ip, '.'); //getting position of the last dot
echo substr($ip, 0, $dotPosition); //getting the characters until that position.
于 2013-02-18T14:55:03.127 に答える
5
$ip = "1.2.3.4";

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

出力

1.2.3

これはstrrpos()、文字の最後の出現を見つけるために使用されます.

于 2013-02-18T14:55:31.987 に答える
3
$nums = explode(".", "1.2.3.4") ;
echo "{$nums[0]}.{$nums[1]}.{$nums[2]}" ; //echoes 1.2.3
于 2013-02-18T14:52:34.580 に答える
2
$ip = "1.2.3.4";

$nums = explode(".",$ip) ;

echo $nums[0].".".$nums[1].".".$nums[2] ;
于 2013-02-18T14:57:13.490 に答える
1

ここに関数があります:

function GetFirstThree($ip) {
    if(strlen($ip) <= 10) {
        $pos = strpos($ip, '.', strlen($ip)-3);
    } else {
        $pos = strpos($ip, '.', strlen($ip)-4);
    }
    $ip = substr($ip, 0, $pos);
    $ip = substr($ip, 0, strlen($ip));
    return $ip;
}

echo GetFirstThree("127.0.0.1");
于 2013-02-18T15:06:54.113 に答える
0
$ip = "1.2.3.4"
$firstThreeOctetOfIp = implode('.', array_slice(explode('.', $ip), 0, 3)); // "1.2.3"
  1. explode4 つの値を持つ配列を取得するための IP
  2. array_slice必要な値を持つ配列を取得する
  3. implode最終的な配列から文字列を取得する
于 2021-07-09T05:29:51.970 に答える