http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg请问如何得到 .  和最后一个/   之间的  b3_m   然后判断这个字符串中是否包含 b  这个字符???

解决方案 »

  1.   

    获取.和最后一个/ 之间的 b3_m的方法:$url = "http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg";
    preg_match("/\/([^.\/]+)\.[^.\/]+$/",$url,$match);
    print_r($match[1]);//输出
    b3_m
    判断这个字符串中是否包含 b 这个字符?echo (preg_match("/[b]+/",$match[1])? '包含字符b' : '不包含字符b');
      

  2.   

    谢谢heyc1998
    请问我在循环里面判断 为什么if(preg_match("/[b]+/",$match[1]))
    {
    var_dump($match[1]);
    }就报错了?
    错误信息Notice: Undefined offset: 1
      

  3.   


    $url = "http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg";
    preg_match("/\/([^.\/]+)\.[^.\/]+$/",$url,$match);
    if(preg_match("/[b]+/",$match[1]))
    {
    var_dump($match[1]);
    }//输出
    string(4) "b3_m" 
      

  4.   

    你好。一个图片是没问题。但是多个就报错。
    for($i=0; $i < $i_count; $i++)
    {
    $match = '';
    preg_match("/\/([^.\/]+)\.[^.\/]+$/",$a_image_list[$i]['image_url'],$match);
    if(preg_match("/[a]+/",$match[1]))
    {
    var_dump($i);
    }
    if($i == 8000)
    {
    break;
    }
    }错误Notice: Undefined offset: 1 in E:\a.php on line 19但是信息都是能正常输出的·求解。 我在外面重新定义了一次也没用~~
      

  5.   


    $url = "http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg";
    if(preg_match("/\/([^\.\/]*?)\.[^\.\/]*?$/is",$url,$match)){
      echo $match[1]."<br>";
      $tmp = $match[1];
      if(preg_match("/b+/is",$tmp,$match)){
        echo $tmp."包含字符“b”";
      }else{
        echo $tmp."不包含字符“b”";
      }
    }else{
      echo "没有匹配到相关数据";
    }
      

  6.   


    你的$a_image_list[$i]['image_url'] 打出来看看是什么!
      

  7.   

    string (60)http://200909/16/10090017/22/08_m.jpg" string(60) "http://200909/16/10090017/22/07_m.jpg" string(60) "http://10090017/22/06_m.jpg" 
    这样的
      

  8.   

    String str="http://200909/16/10090017/22/08_m.jpg";
    sbuString(str,str.lastIndexOf("/"),str.lastIndexOf("."))
      

  9.   

    $url  = 'http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg'
       .'http://www.baidu/s3kd/200909/16/10090015/22/c3_m.jpg'
       .'http://www.baidu/s3kd/200909/16/10090015/22/d3_m.jpg';
    $need = 'b3';
    if(preg_match_all("#/([^/]*(?=".preg_quote($need).")(?:[^/]+))\.[a-z]+#i",$url,$match))
    {
    echo $match[1][0];
    }
    else 
    {
    echo "不含有:".$need;
    }
      

  10.   


    再+个判断好了!for($i=0; $i < $i_count; $i++)
    {
        $match = '';
        if(preg_match("/\/([^\.\/]+)\.[^\.\/]+$/",$a_image_list[$i]['image_url'],$match))
        {
            if(preg_match("/[a]+/",$match[1]))
            {
               var_dump($i);
            }
        }else{
            echo('未匹配到');
            continue;
        }
        
        if($i == 8000)
        {
           break;
        }
      

  11.   

    原因是循环匹配的过程中存在位匹配到的情况,这时候$match[1]是不存在的!