我想摆脱 CIDR 表示法并尝试了以下方法,但它似乎不像这样工作:
<?php
$txt='156.67.0.0/16';
$re='(\\/)'.'(\\d+)';
$end = rtrim($txt,$re);
echo $end;
?>
trim()
不接受正则表达式,但接受字符列表。您可以简单地拆分字符串并仅使用第一部分:
$parts = explode('/', $str);
echo $parts[0];
rtrim
接受字符列表,而不是正则表达式。调查preg_replace
。
$end = preg_replace('@/.*$@', '', $txt);
我会使用preg_replace()
:
$ip = '156.67.0.0/16';
$ip = preg_replace('#/\d+$#', '', $ip);
echo $ip; // 156.67.0.0