没看懂什么意思,你给个例子吧,包括原始数据时什么样的,最后结果是什么样的。我看你的语句,你是想把第一个数字后的所有东西都去掉吗?
创新互联专业为企业提供瓯海网站建设、瓯海做网站、瓯海网站设计、瓯海网站制作等企业网站建设、网页设计与制作、瓯海企业网站模板建站服务,十多年瓯海做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
你的正则不对是因为贪婪匹配的原因,第一个(.*)就把所有的东西都匹配了,后面的什么都没匹配到。
先用正则表达式匹配tr标签内的数据,再用正则表达式匹配td标签内的数据
完整的php程序如下
?php
$str = 'tr class="text-c"td1/tdtd2/tdtd3/tdtd4/tdtd5/tdtd6/tdtd7/tdtd8 18:55/td!--设防状态--td9/td!--围栏状态--td10/tdtd class="td-status"11/tdtd class="td-status"12/tdtd class="td-manage" style="max-width: 300px;"13/td/tr';
preg_match_all ('/tr class="text-c"(.+?)\/tr/im', $str, $result);
for ($i=0; $icount($result[1]); $i++) {
$s=$result[1][$i];
preg_match_all ('/td.*?(.+?)\/td/im', $s, $matches);
for ($j=0; $jcount($matches[1]); $j++) {
echo $matches[1][$j]."br";
}
}
?
PHP正则表达式:/vid\:\d*\,/
PHP例子:
?php
$str='vid:123,';
$preg = '/vid\:\d*\,/';
preg_match_all($preg,$str,$matches);
print_r($matches[0][0]);
?