2014-11-22 21 views
0

我有這樣的PHP代碼:上輸出顯示的特定字符串PHP

<?php 
     $output = shell_exec('wmic os get osarchitecture'); 
     echo "$output"; 
    ?> 

的輸出是:OSArchitecture 64位。

我只想顯示沒有「OSArchitecture」的「64位」。

任何幫助,將不勝感激。

+1

http://php.net/substr – Mihai 2014-11-22 13:32:15

回答

0

我想這取決於你的返回字符串是如何可預測的。你可以簡單地輸出一個字符串,如:

echo substr($output, -7); // Or -8 if the '.' in your question is part of $output 

或拆分上持續兩件空間和輸出字符串會的工作:

$pieces = explode(' ', $output); 
echo $pieces[1] . ' ' . $pieces[2]; 

或者可以使用正則表達式,但可能是矯枉過正。

+0

這兩個選項都可以正常工作。只需修正echo substr($ output,14);而不是-7。謝謝。 – Asis 2014-11-22 14:18:08

+0

當然。如果將來返回的字符串更改爲「OSArch 64位」,並且如果返回的字符串更改爲「OSArchitecture 64位」,則爆炸版本將失敗,則子字符串版本將失敗。因此,除非您能夠控制「wmic」回報,否則您需要考慮如何避免您的代碼在將來可能會與其他人做的事情失敗。 – LavaSlider 2014-11-22 16:12:17

0
$output = shell_exec('wmic os get osarchitecture'); 
echo $test= str_replace("osarchitecture","",strtolower($output)); 
+0

它完美的作品!謝謝。 – Asis 2014-11-22 14:19:08