2013-03-05 112 views
-1

我對PHP(早期入門級)相當陌生。我正在使用PHP來捲曲網頁。不過,我需要一個變量。解析PHP的內容Curl

在終端中,我將頁面捲曲到一個txt文件。該文本文件是:

<input type="hidden" name="studentid" value="23019bdisakd" /></form> 

我需要23019bdisakd從那。在終端我做以下幾點:

grep "studentid" | tr -d '\"' | cut -d"=" -f4 | cut -d"/" -f1 | tr -d '\n' ; 

它可以做到這一點。

不過,現在我需要做的是在PHP

我有什麼:

$url = "www.hereisthewebpage.com"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
$lines = curl_exec ($ch); 
curl_close ($ch); 

我做了一些研究,發現parse_str()。我將如何使用它? 我編制了以下內容: $ StudentID = lines | grep「wosid」| 「tr -d'\」'| cut -d「=」-f4 | cut -d「/」-f1 | tr -d'\ n'; 但我99%這不是正確的方法

任何幫助,將不勝感激。

+0

東西線? – 2013-03-05 10:09:07

+0

嗯,我有點不確定是否允許grep,cut和tr在php – dkengaroo 2013-03-05 10:10:18

+0

我的apache會說我有解析錯誤(不確定$ StudentID = lines |中的語法部分grep「wosid」| 「tr -d'\」'| cut -d「=」-f4 | cut -d「/」-f1 | tr -d'\ n';不正確 或更確切地說如果|甚至允許... – dkengaroo 2013-03-05 10:10:47

回答

0

我會去用一個正則表達式。

沿着你有什麼話(從這裏張貼除外)嘗試已經完成你的功課

$pattern = '/value="([a-zA-Z0-9]*)"/'; 
preg_match($pattern, $lines, $matches); 

$studentId = $matches[0]; 
+0

哦! 真棒 我不知道preg_match。謝謝! – dkengaroo 2013-03-05 10:21:10