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

#php #html #dom

#php #HTML #dom

Вопрос:

Я новичок в использовании 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
)
 

Комментарии:

1. В Интернете полно руководств. Вы читали что-нибудь из них?

Ответ №1:

это должно сработать:

 <?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;
    }

}