Как обрезать нотацию CIDR с IP? - PullRequest
0 голосов
/ 25 января 2012

Я хочу избавиться от нотации CIDR и попробовал следующее, но, похоже, это не работает так:

<?php
  $txt='156.67.0.0/16';
  $re='(\\/)'.'(\\d+)';

  $end = rtrim($txt,$re);
  echo $end;
?>

Ответы [ 4 ]

2 голосов
/ 25 января 2012

trim() принимает не регулярное выражение, а список символов. Вы можете просто разделить строку и использовать только первую часть:

$parts = explode('/', $str);
echo $parts[0];
0 голосов
/ 25 января 2012

Я бы использовал preg_replace():

$ip = '156.67.0.0/16';
$ip = preg_replace('#/\d+$#', '', $ip);

echo $ip; // 156.67.0.0
0 голосов
/ 25 января 2012

Использование preg_replace:

preg_replace('~/.*~', '', $txt);

Это удаляет все, что начинается с косой черты.

0 голосов
/ 25 января 2012

rtrim принимает список символов, а не регулярное выражение. Посмотрите на preg_replace.

$end = preg_replace('@/.*$@', '', $txt);
...