<pre> <?php $text = " <input type='text' name='n1' value='123'> <input type='text' name='n2' value=''> <input type='text' name='n3'> <input type='text' name=\"n3\"> "; preg_match_all("#<input.*name='(.*)'.*value='(.*)'|<input.*name='(.*)'|<input.*name=\"(.*)\"#", $text, $out); print_r($out); ?> </pre>