I'm still very much learning Regex and I suck at it :(
I am getting an external webpage, saving it to a local file. The page contains a form, now I need to find all the form's input's names and put it into an array, for example:
<input type="text" name="firstName">
or
<input type="text" name="firstName" class="something">
from the above I just need firstName to go into my array.
To complicate matters just a little bit, I have noticed people writing it a bit different sometimes because of the space character, like so:
name= "firstName"
name = "firstName"
name ="firstName"
As I am still learning, I would really appreciate it if you could explain your regex
Quick example:
<?PHP
$myDocument = new DOMDocument;
$myDocument->loadHTMLfile('example_page.html');
// Get form item(s)
$formItems = $myDocument->getElementsByTagName('form');
// Get input items from first form item
$inputItems = $formItems->items(0)->getElementsByTagName('input');
// Name attributes
foreach ($inputItems as $inputName) {
echo $inputName->getAttribute('name') . "<br />";
}
?>
You can use something like
$xmldoc = new DOMDocument();
$xmldoc->load('REQUIRED_URL');
foreach ($xmldoc->getElementsByTagName('form') as $formitem) {
$inputnodes = $formitem->getElementsByTagName('input');
$name = $inputnodes->item(0)->getAttribute('name');
echo $name;
}