【发布时间】:2009-11-01 10:16:05
【问题描述】:
我在尝试仅获取 Linux 机器上当前配置的网络接口的名称时遇到了字符串格式问题。
1. <?php
2. $temp = shell_exec("/sbin/ifconfig | cut -b 1-10");
3. echo $temp; //Outputs: eth0 lo
4. $arr = explode(" ",$temp);
5. echo "First Location:".$arr[0]; //Outputs: eth0
6. echo "Second Location:".$arr[1]; //Outputs:
7. echo count($a); //Outputs: 165
8. ?>
我怎样才能得到 size=2 的 $arr 这样 回声 $arr[0]; //给出'eth0' 回声 $arr[1]; //给出'lo'
非常感谢
更新: 我遵循命令将为我带来魔力
ifconfig | grep -o -e "[a-z][a-z]*[0-9]*[ ]*Link" | perl -pe "s|^([a-z]*[0-9]*)[ ]*Link|\1|"
但我在从 php 文件执行时做错了,因为浏览器没有显示任何内容。
<?php
$temp = shell_exec("ifconfig | grep -o -e \"[a-z][a-z]*[0-9]*[ ]*Link\" | perl -pe \"s|^([a-z]*[0-9]*)[ ]*Link|\\1|\"");
echo $temp;
?>
【问题讨论】: