文章目录[隐藏]
怎么写一个正则,同时匹配两种标签
$pattern=”#(\<input.*\>)#U";
$pattern=”#(\<select.*\>.*\<\/select\>)#U";
像上面两,分别匹配了input和select。如何把它们合并成一个,只要满足其中一种都行。因为需要按照标签的顺序输出,所以不能分成两次来匹配
回复讨论(解决方案)
$str = ''; $str .=<em style="color:transparent">本文来源gao.dai.ma.com搞@代*码#网</em><a>搞代gaodaima码</a> 'VolvoSaabOpelAudi';preg_match_all("#((\<input.*\>)|(\<select.*\>.*\<\/select\>))#U",$str,$out);var_dump($out);
这样可否?
正则里有或‘|’这个操作符
PHP code?123456$str = ”; $str .= ‘VolvoSaabOpel<op……
这样可以了,我之前一直把外面那个小括号写成中括号。因为像电话,邮箱地址的或,都是用中括号包起来的。
感谢。。。