简单的html dom过滤器表单获取名称和值为php数组

时间:2016-10-15 10:22:21

标签: 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 个答案:

答案 0 :(得分: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;
    }

}