복붙노트

php 여러 공백을 하나의 공백으로 바꾸기

PHP

php 여러 공백을 하나의 공백으로 바꾸기

여러 개의 공백을 하나의 공백으로 대체하려고합니다. ereg_replace를 사용할 때 더 이상 사용되지 않는 오류가 발생합니다.

ereg_replace("[ \t\n\r]+", " ", $string);

동일한 대체품이 있습니까? 여러 개의 공백과 여러 개의 nbsp 공백을 하나의 공백으로 대체해야합니다.

해결법

  1. ==============================

    1.preg_replace ()를 사용하고 [\ t \ n \ r] 대신 \ s를 사용하십시오.

    preg_replace ()를 사용하고 [\ t \ n \ r] 대신 \ s를 사용하십시오.

    $output = preg_replace('!\s+!', ' ', $input);
    

    정규식 기본 구문 참조 :

  2. ==============================

    2.

    preg_replace("/[[:blank:]]+/"," ",$input)
    
  3. ==============================

    3.

    $output = preg_replace('/\s+/', ' ',$input);
    

    \ s는 [\ t \ n \ r]에 대한 속기입니다. 여러 공백이 하나의 공백으로 바뀝니다.

  4. from https://stackoverflow.com/questions/2368539/php-replacing-multiple-spaces-with-a-single-space by cc-by-sa and MIT license