字符的内容是一个时间,不知为什么多了一个换行和这么长的空白(空白的长度也不一样,用trim过滤不了):20 
                08-07-18

解决方案 »

  1.   


    $str='20 
                    08-07-18 <br>';
    echo preg_replace( '|(20)[\s\n]+?(08-)|ism', '$1$2', $str);
      

  2.   


    简化点的
    $str='20 
                    08-07-18 <br>';
    echo preg_replace( '|(20)\s+?(08-)|ism', '$1$2', $str);
      

  3.   

    preg_replace("/(\d{2})\s*(\d{2}-\d{2}-\d{2})/","\\1\\2",$str);
      

  4.   

    $str='20 
                    08-07-18 <br>';
    preg_match( "/[0-9-]/", $str, $reu);
    echo $reu[0][0];
      

  5.   

    错了,看错了
    这个是对的
    <?php
    $str='20 
                    08-07-18 <br>'; 
    preg_match_all( "/[0-9-]/", $str, $reu); 
    //print_r($reu); 
    $strs="";
    //echo count($reu[0]);
    for ($i=0;$i<count($reu[0]);$i++)
    {
    $strs.=$reu[0][$i];
    }
    echo $strs;
    ?>
      

  6.   

    preg_replace("/\s/", "", $str);
      

  7.   


    preg_replace("|(\d{2})\s+(\d{2}-\d{2}-\d{2})|ism","$1$2",$str);
      

  8.   

      1 <?php
      2 
      3 
      4 $str='20
      5                 08-07-18 <br>';
      6 
      7 preg_match('|[0-9]+\s+([^<]+)<br>|si',$str,$arr);
      8 $strr   =       $arr[1];
      9 echo '20'.$strr;
    ~                                                                                                                                                                                   
    ~                                                                                                                                                                                   
    ~                                 
      

  9.   

    1 <?php
      2
      3
      4 $str='20
      5                08-07-18 <br>';
      6
      7 preg_match('|[0-9]+\s+([^<]+) <br>|si',$str,$arr);
      8 $strr  =      $arr[1];
      9 echo '20'.$strr;
    ~