Diversia
@Diversia

Как получить все значения value полей?

Здравствуйте.

Есть скрипт:
<?
function browser($url) {
	$url="http://site.ru/";
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_URL,$url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
	$html = curl_exec($ch);
	curl_close($ch);
	return $html;
}
preg_match_all('~<div class="test">(.*?)</div>~is', browser($url), $text);
print_r ($text);
?>


На странице, к которой идет запрос есть множество input:
<input type="hidden" name="embed-unikal" class="embed-unikal" value="*****" id="embed-unika" />


Помогите пожалуйста составить выражение для preg_match_all, которое получит все value всех input. Только для полей с классом embed-unikal.
  • Вопрос задан
  • 236 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Если вам вдруг показалось, что регулярки не очень то и удобны для разбора HTML, то спешу вас обрадовать - вы не первый человек с таким мнением.

Давно существуют штуки типа DOMDocument, SimpleXML или Zend_Dom_Query и еще десятки альтернатив.

Пример:
$dom = new Zend_Dom_Query($html);
$results = $dom->query('input .embed-unikal');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
p00h
@p00h
Фехтовальщик-стропальщик
preg_match_all('~<(?:input).*?value="([^"]*)".*?\/>~', browser($url), $text);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы