php
  • php-5.3
  • php-5.6
  • 2016-04-01 79 views 0 likes 
    0

    我使用php5并有一个脚本,它将返回客户端的IP地址。 使用shell_exec()函数执行脚本。现在输出是这样的:* 192.168.10.40 192.168.10.41 *。 现在我需要将它存储在一个数组中。我用preg_match(),但它不工作。php5从字符串复制子字符串由空格分隔?

    下面是代码使用的preg_match():

    $test = shell_exec("/www/dhcp.sh"); 
    $pattern='/([^ ]*) /'; 
    preg_match($pattern, $test, $new); 
    

    的preg_match()被返回0;

    这里是我用爆炸的一个():

    $test = shell_exec("/www/dhcp.sh"); 
    var_dump(explode(' ', $test)); 
    

    我也使用爆炸,但我得到的结果为: 阵列(1){[0] =>串(28)“ 192.168.10.40 192.168.10.41“} 谁能告诉我如何将字符串拆分为数组?

    问候,
    Sowmya

    +0

    你应该表现出你的代码使用。 – jeroen

    回答

    1

    你可以用爆炸来分割你的字符串:

    explode(' ', '192.168.10.40 192.168.10.41')); 
    

    ,让你

    array(2) { 
        [0]=> 
        string(13) "192.168.10.40" 
        [1]=> 
        string(13) "192.168.10.41" 
    } 
    

    http://php.net/manual/fr/function.explode.php

    +0

    IP地址将会改变,如果设备未连接,脚本可能不会返回任何内容。 – user12345

    +0

    然后你必须在爆炸字符串之前验证你的脚本返回的字符串不是空的 – wlalele

    +0

    是的脚本没有返回空。但我必须通过shell_script()的输出来爆炸函数。我可以通过作为一个论据吗? – user12345

    相关问题