字符串截取
bri=bridge0 if1=wan if2=lan if3=vlan mac=00:11:22:1d:2d:3d ip=192.168.100.1 netmask=255.255.255.0 arp=arp state=stop
bri=bridge1 if1=wan mac=00:01:2B:4C:6D:9F ip=192.168.1.125 netmask=255.255.255.0 state=stop
这是我保存的配置文件
但是 if打头的是多选的,个数是不固定的,最多8个,我想取出 if的值
也就是
bridge0 : wan lan vlan
bridge1 : wan本文来源gaodai#ma#com搞*!代#%^码$网!搞代gaodaima码
这条数据我转成数组是
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Array( [0] => Array ( [bri] => bridge0 [if1] => wan [if2] => lan [if3] => vlan [mac] => 00:11:22:1d:2d:3d [ip] => 192.168.100.1 [netmask] => 255.255.255.0 [arp] => arp [state] => stop ) [1] => Array ( [bri] => bridge1 [if1] => wan [mac] => 00:01:2B:4C:6D:9F [ip] => 192.168.1.125 [netmask] => 255.255.255.0 [state] => stop ))
请问有什么好的办法么,难道我真要
转成数组之后在根据键值判断
——解决方案——————–
- PHP code
$s = "bri=bridge0 if1=wan if2=lan if3=vlan mac=00:11:22:1d:2d:3d ip=192.168.100.1 netmask=255.255.255.0 arp=arp state=stop";parse_str(strtr($s, ' ', '&'), $a);print_r($a);
------解决方案--------------------
不就是找哪个key是if开头的吗.
- PHP code
[User:root Time:17:19:16 Path:/home/liangdong/php]$ php preg.php bridge0: wan lan vlanbridge1: wan[User:root Time:17:19:16 Path:/home/liangdong/php]$ cat preg.php <?php$str = <<