Скрытие скрытых входов в виде строки (с использованием PHP Simple HTML DOM Parser)

Таким образом, у меня есть форма, которая имеет 4 входа, 2 текста, 2 скрытых. Я взял два значения ввода текста из имени, которые (get_me_two, get_me_three), и я также захватил действие формы (get_me.php). То, что я сейчас ищу, – захватить 2 скрытых входа, но не значения. Я хочу захватить сами входы.

Е.Г .: Вот моя форма:

И то, что я хочу получить отсюда, это два скрытых ввода, а не значения, полная строка .

Я не уверен, как их захватить с помощью: PHP Simple HTML DOM Parser, если кто-нибудь знает, как это здорово, если нет, если есть альтернатива, которая также будет замечательной. Как только я их захватил, я планирую передать 2 входных значения на другую страницу со скрытыми строками и, конечно, действие формы.

Кроме того, если кому-то интересно, вот мой полный код, который включает в себя простую функциональность html dom.

 load(' 
'); // Get the form action foreach($html->find('form') as $element) echo $element->action . '
'; // Get the input name foreach($html->find('input') as $element) echo $element->name . '
'; ?>
в load('
'); // Get the form action foreach($html->find('form') as $element) echo $element->action . '
'; // Get the input name foreach($html->find('input') as $element) echo $element->name . '
'; ?>

Таким образом, конечный результат будет захватывать 3 значения, а затем 2 скрытых входа (полные строки). Помощь была бы очень признательна, поскольку это заставило меня немного рассердиться, пытаясь добиться этого.

Если вы используете DomDocument , вы можете сделать следующее:

 < ?php $hidden_inputs = array(); $dom = new DOMDocument('1.0'); @$dom->loadHTMLFile('form_show.php'); // 1. get all inputs $nodes = $dom->getElementsByTagName('input'); // 2. loop through elements foreach($nodes as $node) { if($node->hasAttributes()) { foreach($node->attributes as $attribute) { if($attribute->nodeName == 'type' && $attribute->nodeValue == 'hidden') { $hidden_inputs[] = $node; } } } } unset($node); // 3. loop through hidden inputs and print HTML foreach($hidden_inputs as $node) { echo "
" . htmlspecialchars($dom->saveHTML($node)) . "

"; } unset($node); ?>

Я не использую SimpleDom (я всегда хожу целиком и использую DOMDocument), но вы не могли бы сделать что-то вроде ->find('input[@type=hidden]') ?

Если SimpleDOM не разрешает этот селектор, вы можете просто перебрать результаты ->find('input') и выбрать скрытые, сравнив атрибуты самостоятельно.