我有一个文本文件,下面是文件的内容:function CHECK {
name=$1
value=$2
CurrentUmask=`grep $name /etc/profile | awk -F" " \'{print $2}\' `
if [ "$CurrentUmask" == "$value" ]
then
  echo " <TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks>"
   echo " <td>"
echo " check umask" 
  echo " </td>"    
echo " <td>"
echo "<FONT COLOR="#00FF00">Passed</FONT>"
  echo " </td>"
echo " </TR>"
echo " </TABLE>"
else
  echo " <TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks>"
echo " <td>"
echo " check umask" 
  echo " </td>"    
echo " <td>"
echo " <FONT COLOR="#FF0000">Failed</FONT>"
  echo " </td>"
echo " </TR>"
echo " </TABLE>"
fi
}CHECK "umask" "022"
需要用PHP拿到最后一行CHECK "umask" "022"  中的 022这个数字,这个数字是会变动的。 

解决方案 »

  1.   


    //未经测试。
    preg_match_all('/CHECK.*"(\d+)"/',$string,$matches);
    var_dump($matches);
      

  2.   

    preg_match_all('~CHECK "umask" "(\d+)"~is',$string,$data);
      

  3.   

    $content = file_get_contents('test.txt');preg_match_all('~CHECK "umask" "(\d+)"~is',$content,$data);$get_value  = preg_replace('/[^0-9]/','',$data[0][0]);echo $get_value;
      

  4.   

    $arr = file('a.txt');
    preg_match('/\d+/', $arr[count($arr) - 1], $arr);
    p($arr[0]);