2013-03-05 5 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 = строки | grep "wosid" | tr -d '\ "' | cut -d" = "-f4 | cut -d"/"-f1 | tr -d '\ n'; , но я на 99% это неправильный путь.

Любая помощь будет оценена.

+0

что вы пробовали уже завершить свою домашнюю работу (помимо размещения здесь) ? –

+0

ну, я немного не уверен, разрешены ли grep, cut и tr в php – dkengaroo

+0

мой apache сказал бы, что у меня есть ошибка синтаксического анализа (не уверен, какая часть синтаксиса в $ StudentID = lines | grep "wosid" | tr -d '\ "' | cut -d" = "-f4 | cut -d"/"-f1 | tr -d '\ n'; неверно или, вернее, если даже разрешены ... – dkengaroo

ответ

0

Я бы с регулярным выражением.

что-то вдоль линий

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

$studentId = $matches[0]; 
+0

Oh! awesome Я не знал о preg_match. спасибо за это! – dkengaroo

Смежные вопросы