простая форма фильтра html dom для получения имени и значений в виде php-массива

Я новичок в использовании simple_html_dom, у меня есть эта форма, которую я не собираюсь отправлять, но я хочу получить имена и значения в виде массива в php.

$url = '<!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    </head>
    <body>
        <div class="waitmsg" id="WaitMessage" style="display:none">
        <WaitMessage>Transaction Processing, Please Wait...</WaitMessage>
    </div>
    <form id="mpiRun" action="form.php" method="post">
        <input type="hidden" name="dest" value="33777" /> 
        <input type="hidden" name="one" value="102900" /> 
        <br>      
        <br>
        <noscript>      
            <center>      
                <h1>Processing Transaction</h1>
                <input type="submit" />      
            </center>
        </noscript>
    </form>
</body>
</html>';

Я хочу выполнить поиск в этом и вернуть php-массив, например

Array
(
    [dest] => 33777
    [one] => 102900
)

php,html,dom,

0

Ответов: 1


0 принят

это должно сделать трюк:

<?php

include_once('simple_html_dom.php');

$url = '<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
    <div class="waitmsg" id="WaitMessage" style="display:none">
    <WaitMessage>Transaction Processing, Please Wait...</WaitMessage>
</div>
<form id="mpiRun" action="form.php" method="post">
    <input type="hidden" name="dest" value="33777" /> 
    <input type="hidden" name="one" value="102900" /> 
    <br>      
    <br>
    <noscript>      
        <center>      
            <h1>Processing Transaction</h1>
            <input type="submit" />      
        </center>
    </noscript>
</form>';



$html = str_get_html($url);
$arr = [];
foreach ($html->find('input') as $element) {
    if ($element->type == "hidden") {
        $arr[$element->name] = $element->value;
    }

}
PHP, HTML, дом,
Похожие вопросы