Remove extra space at the end of string using preg_replace

前端 未结 3 2072
自闭症患者
自闭症患者 2020-12-18 09:46

I want to replace the extra space at the end of the string with nothing using preg_replace in PHP. I was creating a big database of words and somehow a few word

相关标签:
3条回答
  • 2020-12-18 10:11

    You should use rtrim instead. It will remove extra white space at the end of a string and is faster than using preg_replace.

    $str = "This is a string.    ";
    echo rtrim($str);
    

    Speed Comparison - preg_replace v. trim

    // Our string
    $test = 'TestString    ';
    
    // Test preg_replace
    $startpreg = microtime(true);
    $preg = preg_replace("/^\s+|\s+$/", "", $test);
    $endpreg = microtime(true);
    
    // Test trim
    $starttrim = microtime(true);
    $trim = rtrim($test);
    $endtrim = microtime(true);
    
    // Calculate times
    $pregtime = $endpreg - $startpreg;
    $trimtime = $endtrim - $starttrim;
    
    // Display results
    printf("preg_replace: %f<br/>", $pregtime);
    printf("rtrim: %f<br/>", $trimtime);
    

    Results

    preg_replace: 0.000036
    rtrim: 0.000004

    As you can see, rtrim is actually nine times faster.

    0 讨论(0)
  • 2020-12-18 10:26

    why not just use trim() http://php.net/manual/en/function.trim.php

    0 讨论(0)
  • 2020-12-18 10:33

    with preg_replace as you wanted :

    $s = ' okoki efef ef ef   
    ';
    
    print('-'.$s.'-<br/>');
    
    $s = preg_replace('/\s+$/m', '', $s);
    
    print('-'.$s.'-');
    
    0 讨论(0)
提交回复
热议问题