日期:2014-05-17  浏览次数:20415 次

php正则表达
怎么写一个正则,同时匹配两种标签
$pattern="#(\<input.*\>)#U";
$pattern="#(\<select.*\>.*\<\/select\>)#U";
像上面两,分别匹配了input和select。如何把它们合并成一个,只要满足其中一种都行。因为需要按照标签的顺序输出,所以不能分成两次来匹配

------解决方案--------------------


$str = '<input type="text" name="lname" />';  
$str .= '<select><option value ="volvo">Volvo</option><option value ="saab">Saab</option><option value="opel">Opel</option><option value="audi">Audi</option></select>';

preg_match_all("#((\<input.*\>)
------解决方案--------------------
(\<select.*\>.*\<\/select\>))#U",$str,$out);

var_dump($out);



这样可否?