explode
然后对求出的部分进行if判断

解决方案 »

  1.   

    $stime = 1229236000;
    $str="⊙a:317:1229235000⊙b:509:1229493570⊙c:380:1229493617⊙d:515:1229493846⊙e:317:1229234000⊙f:317:1229233000";
    $strs = explode("⊙",$str);
    for ($i=0;$i<count($strs);$i++)
    {
    if (!$strs[$i]) unset($strs[$i]);
    $sstrs = explode(":",$strs[$i]);
    if ($sstrs[2] < $stime ) unset($strs[$i]);
    }
    $OutStr = "⊙".implode("⊙",$strs);
      

  2.   

    “⊙a:317:1229235000⊙b:509:1229493570⊙c:380:1229493617⊙d:515:1229493846⊙e:317:1229234000⊙f:317:1229233000”假设这个字符串为$a则:
    $temp_a=explode("⊙",$a);
    for($i=0;$i<(count($temp_a));$i++)
    {
    $temp_b=explode(":",$temp_a[$i]);
    if($temp_b[3]>time())
    {
    $temp_a[$i]="";
    }
    }
    $a=implode("⊙",$temp_a);
      

  3.   

    me 的。$s='⊙a:317:1229235000⊙b:509:1229493570⊙c:380:1229493617⊙d:515:1229493846⊙e:317:1229234000⊙f:317:1229233000';
    $pat='(⊙.+?\d+:(\d+)\b)';
    $time='1229236000';//时间阈值
    preg_match_all($pat,$s,$m);
    foreach($m[1] as $i=>$item)
    if($item<$time) unset($m[0][$i]);
    echo implode($m[0]);
      

  4.   

    <?php
    $str = '⊙a:317:1229235000⊙b:509:1229493570⊙c:380:1229493617⊙d:515:1229493846⊙e:317:1229234000⊙f:317:1229233000';
    $t = 1229236000;
    function f($s){
    global $t;
    $m = preg_split('/:/', $s[0]);
    return $m[2]>=$t?$s[0]:'';
    }
    $str = preg_replace_callback('/⊙.+?(?=⊙|$)/',"f",$str);
    echo $str;
    ?>
      

  5.   

    晕,应该用 explode更好
    <?php
    $str = '⊙a:317:1229235000⊙b:509:1229493570⊙c:380:1229493617⊙d:515:1229493846⊙e:317:1229234000⊙f:317:1229233000';
    $t = 1229236000;
    function f($s){
    global $t;
    $m = explode(':', $s[0]);
    return $m[2]>=$t?$s[0]:'';
    }
    $str = preg_replace_callback('/⊙.+?(?=⊙|$)/',"f",$str);
    echo $str;
    ?>
      

  6.   


    老大,不必这么苛刻吧。又不是单片机汇编,一个字节一个字节的扣。
    现在硬件上系统内存、速度都在飞一样的提高,你说我节约那点儿资源干吗。特别是lz的例子,多一个$m[1],
    又能浪费多少。微软这么nb的软件公司,os一个比一个浪费资源,我们又何必啊。