取其中的“BetterMan”“RobbieWilliams”“ModernLove”“2003”....
这是一个MP3文件的后128位,好像都是信息之类的东西,最后的\x1\r是什么意思为什么和前面的\x0不一样啊?解释一下好吗?\x0,\x1,\r????

解决方案 »

  1.   

    你的$tag总共只有124个字节长度,用下面的方式就可以了。
    <?php 
    $tag="TAGBetterMan\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0RobbieWilliams\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0ModernLove\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x02003\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x1\r";
    preg_match_all( "/TAG(.{30})(.{30})(.{30})(.{4})(.*)/", $tag, $regs );
    echo "<pre>";
    print_r($regs);
    ?>
      

  2.   

    $tag的总长度是124,(其中\x0是空字符)
    但是你的"TAG(.{30})(.{30})(.{30})(.{4})(.{30})."里面
    TAG是3个字符,
    30+30+30+4+30 = 124
    结尾的.是一个字符。
    总长度是128个。当然不满足了啊!!!!!!!!!换成实施
    "/(.{30})(.{30})(.{30})(.{4})(.{30})/"
      

  3.   

    改过了,还是不行啊!
    $tag="BetterMan"
    ereg( "(.{6})(.{3})", $tag, $regs )
    可以取出Better和Man
    当$tag="Better\x0Man"时怎么取出Better和Man啊?
      

  4.   

    用ereg好象是不行,他对“\x0”感觉好像不认
      

  5.   

    preg_match_all( "/([\d\w]+)/i", $tag, $regs );
    print_r($regs);
      

  6.   

    preg_match_all( "/([\d\w]+)/i", $tag, $regs );
    print_r($regs);