簡體   English   中英

PHP:提取特定內容以從字符串中的文本塊中分離變量

[英]PHP: Extract specific contents to separate variables from block of text in a string

我有一個名為$ driveusage的變量,其中包含以下文本塊:

Filesystem     Type      Size  Used Avail Use% Mounted on
rootfs         rootfs    111G  8.7G   96G   9% /
/dev/sda1      ext3      111G  8.7G   96G   9% /
devtmpfs       devtmpfs   59M     0   59M   0% /dev
tmpfs          tmpfs      61M     0   61M   0% /dev/shm
tmpfs          tmpfs      61M  264K   60M   1% /run
tmpfs          tmpfs      61M     0   61M   0% /sys/fs/cgroup
tmpfs          tmpfs      61M   16K   61M   1% /tmp

我只需要從rootfs行中提取數據到單獨的變量(即$drivesize$driveused$drivefree ,不是數組)size ,已usedavail數字,以及僅數字( 包括小數 )。
請記住,一旦超過9.9Gused值將顯示為10G無小數點 ),而低於10G可用值將顯示為9.9G

我已經嘗試過preg_replace()每種組合,但是對於那些復雜的表達式我並preg_replace() :(

您能提供的任何幫助將不勝感激:)

這是我得到的:

$df_info = explode(' ', shell_exec("df -H / | tail -1 | tr -s ' ' | cut -d ' ' -f 2,3,4"));
$df = array(
    'size'      => $df_info[0],
    'used'      => $df_info[1],
    'available' => $df_info[2],
);

df -H /獲取有關您的磁盤的人類可讀信息, tail -1磁盤的最后一行(重要的數字, tr -s ' ' | cut -d ' ' -f 2,3,4表示第二行,該行中的第三和第四項(“大小”,“已使用”和“可用”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM