Jor*_*rza 2 php regex html-parsing
我有一个html文件作为字符串加载在PHP中,我需要获取HTML字符串中的输入元素的值.有人可以帮我构建一个函数,它接受输入元素的名称并返回其值吗?
这是我想要做的功能的一个例子:
function getVal($name){
$htmlStr = "<form action = \"action.php\"><input type=\"hidden\" name=\"command\" value=\"123456\">
<input type=\"hidden\" name=\"quantity\" value=\"1\">
<input type=\"hidden\" name=\"user_mode\" value=\"1\">
<input type=\"hidden\" name=\"stock\" value=\"-1255303070\">
<input type=\"hidden\" name=\"id\" value="429762082">
<input type=\"hidden\" name=\"pidm\" value=\"2\"></form>";
// I'd like to get the value of $name here probably using preg_match
return $value; //returns 123456
}
Run Code Online (Sandbox Code Playgroud)
$ val = getVal("command"); // val应该是123456.
任何idas?谢谢
以下是DOM的示例:
$html = "<form action = \"action.php\">
<input type=\"hidden\" name=\"command\" value=\"123456\">
<input type=\"hidden\" name=\"quantity\" value=\"1\">
<input type=\"hidden\" name=\"user_mode\" value=\"1\">
<input type=\"hidden\" name=\"stock\" value=\"-1255303070\">
<input type=\"hidden\" name=\"id\" value=\"429762082\">
<input type=\"hidden\" name=\"pidm\" value=\"2\">
</form>";
$document = new DOMDocument();
$document->loadHTML($html);
$inputs = $document->getElementsByTagName("input");
foreach ($inputs as $input) {
if ($input->getAttribute("name") == "id") {
$value = $input->getAttribute("value");
}
}
echo $value;
Run Code Online (Sandbox Code Playgroud)