php+mysql 数据库视频表  取视频信息 video_list
其中有字段video_name 如下: 
数据1《百家讲坛》20111220 
数据2《百家讲坛》20111214 王立群读《史记》——秦始皇(三十)生死茫茫 
如果是数据1 直接取video_name,输出
如果是数据2 截取时间后面的字符输出
8位日期数字的左右都有一个空格符。
请问我该如何在循环中判断这2中类型并截取呢?是用正则么,该怎嘛写啊

解决方案 »

  1.   

    $t = preg_split('/\s+\d+\s+/', $roe['video_name'], PREG_SPLIT_NO_EMPTY);
    echo end($t);
      

  2.   

    我要判断是哪中数据形式,如果是1,不做修改
    如果是2取8位数字后面的字符串,我试了下你的这个方法。end($t)输出的还是数据2啊
      

  3.   

    if(preg_match('/\s+\d{8}\s+.+/',$roe['video_name'])){
               $t = preg_split('/\s+\d+\s+/', $roe['video_name'], PREG_SPLIT_NO_EMPTY);
               echo end($t);
    } else{
          echo $roe['video_name']; 
    }
      

  4.   

    哦,少了一个参数
    $t = preg_split('/\s+\d+\s+/', $roe['video_name'],-1, PREG_SPLIT_NO_EMPTY); 
      

  5.   

    $roe['video_name']= '《百家讲坛》20111214 王立群读《史记》——秦始皇(三十)生死茫茫';
    $chars = preg_split('/[0-9]/', $roe['video_name'], -1,PREG_SPLIT_NO_EMPTY );
    $rs= (count($chars)>1) ? $chars[1] : $roe['video_name'];
    echo $rs;