php
  • php-5.3
  • php-5.6
  • 2016-04-01 136 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

    相關問題