PHP: Parse input form
The code below is used to parse input tags in html form. If you have a script to crawl a website and it does have input form with many inputs , this will save you a lot of time. function parse_html_input($html) { $inputs=array(); $regexp = “/<input(.*?)>/is”; if(preg_match_all (“$regexp”, $html, $matches)) { foreach($matches[0] as $match) { preg_match(‘/name=[\”\’]{0,1}(\w+)[\”\’]{0,1}/i’,$match,$result); if(!$result) continue; $value=””; $input_name = $result[1]; if($input_name==””) continue; if($result) { $match=str_replace(“>”,” >”,$match); if(strpos(strtolower($match),”value=\””)!==false) preg_match(‘/value=[\”\’]{0,1}[^”]*[\”\’]{0,1}/i’,$match,$result2); else preg_match(‘/value=[^\n\r”]+ /i’,$match,$result2); if($result2) { $value= $result2[0]; if(strtolower(substr($value,0,6))==”value=”) { $value=substr($value,6,strlen($value)-6); } $value=str_replace(“\””,””,$value); } } $inputs[$input_name]=$value; } } $form_regexp = “<form.+>”; $form_action=””; if(preg_match_all (“/$form_regexp/i”, $html, $matches)) { foreach($matches[0] as $match) { if(strpos(strtolower($match),”action=\””)!==false) { preg_match(‘/action=[\”\’]{0,1}[^\n\r”]*[\”\’]{0,1}/i’,$match,$result2); $form_action=explode(“\””,$result2[0])[1]; }Read More →