你写的差不多少,<?php
$str = <<<HTML
<p><input name="单行文本框" /></p>
<p><textarea rows="5" cols="90" name="多行文本框"></textarea></p>
<p><select name="列表框">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select></p>
<p><select name="下拉列表">
<option value="aa" selected="selected">aa</option>
<option value="bb">bb</option>
<option value="cc">cc</option>
<option value="dd">dd</option>
</select></p>
<p><input type="checkbox" name="复选框" value="2222" />ddd</p>
<p>&nbsp;<input type="radio" name="单选框" value="12" />gggg</p>
<p>&nbsp;</p>
HTML;$reg = "/(<input.*\/>)|(<textarea.*>.*<\/textarea>)|(<select.*>.*<\/select>)/Usi";
preg_match_all( $reg, $str, $out );
print_r( $out[0]);
?>