我有一个脚本连接到 mikrotik 路由器并从中读取流量统计信息。
这是我的代码:
$y = 0;
foreach ($ARRAYD as $d) {
$nodename=$ARRAYD[$y]['target'];
//$nodename=trim($nodename);
$nodename=substr($nodename,7,-1);//
//$nodename=rtrim($nodename, "-1");
$traff_bytes=$ARRAYD[$y]['bytes'];
$byte_values = preg_split('/\//',$traff_bytes);
if ($debug==0) {
$fr = fopen($myfile.$nodename,"w");
fwrite($fr,$nodename." ");
fwrite($fr,time()." ");
fwrite($fr,$byte_values[0]." ");
fwrite($fr,$byte_values[1]."");
fclose($fr);
$y++;
}
}
API 响应给了我这样<pppoe-0404>
的输出,$nodename
然后这个位$nodename=substr($nodename,7,-1);
通过0404
剥离前 7 个和最后 1 个字符将其剥离。
如果 cpe 重新启动并$nodename
变为0404-1
. -1
如果它出现,我如何从最后剥离?
我试过$nodename=rtrim($nodename, "-1");
了,但所有以结尾的节点1
都会丢失名称的最后一个数字。0401
将成为040
不正确的输出。