您好,欢迎访问一九零五行业门户网

请问PHP用正则表达式,下面这种情况?

一个项目中可能出现以下两种情况,
第一种:
........sadfa:
123
sldkjlskdfj.........
第二种:
........sadfa:
                                                0
sldkjlskdfj.........
请问大侠们,有没有办法用一个正则表达式就表示了啊?
我想的:
preg_match(/sadfa:.*?(\d+)/is,$text,$reg);
这样结果就拿到javascript:void(0)里面这个0了,
改成下面的:
preg_match(/sadfa:.*?([1-9]\d*)/is,$text,$reg);
可以拿到红色部分的数字,但是红色部分是0的话,我就没办法了,求帮忙。。。
回复讨论(解决方案) 用preg_match_all()
用preg_match_all()
第一种情况的话,我要拿第二个数字,
第二种情况的话,我要拿第一个数字,
想用一个正则,不知道怎么写啊

$s =< array
        (
            [0] => sadfa:
123
            [1] => sadfa:
                                               0
        )
[1] => array
        (
            [0] => 123
            [1] => 0
        )
)
感谢上面两位,从不同的思路,都可以解决问题,
由于数据量庞大,不知道strip_tags多进行一次处理,会不会影响效率,也没去试,总之感谢baoxiaohua了
个人更偏向于xuzuning版主的方法,正是我想找的,自己想一直没想出来,太感谢了
我自己最终用的/sadfa:.*?[>\s](\d+)/is,省去了非贪婪匹配,不知道会不会有什么问题,呵呵。。
其它类似信息

推荐信息