복붙노트

문자열에서 줄 바꾸기

PHP

문자열에서 줄 바꾸기

$string = "
put returns between paragraphs

for linebreak add 2 spaces at end

";

문자열에서 모든 새 행을 제거하고 싶습니다.

나는이 정규식을 가졌지 만 모든 것을 잡을 수있다. 문제는 내가 어떤 함수를 사용해야하는지 모른다는 것이다.

/\r\n|\r|\n/

$ string는 다음과 같아야합니다.

$string = "put returns between paragraphs for linebreak add 2 spaces at end ";

해결법

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

    1.이중 줄 바꿈에주의를 기울여야하므로 이중 공백이 생깁니다. 이 매우 효율적인 정규식을 사용하십시오.

    이중 줄 바꿈에주의를 기울여야하므로 이중 공백이 생깁니다. 이 매우 효율적인 정규식을 사용하십시오.

    $string = trim(preg_replace('/\s\s+/', ' ', $string));
    

    여러 공백과 개행은 단일 공백으로 대체됩니다.

    편집 : 다른 사람들이 지적했듯이,이 솔루션은 단어 사이에 하나의 개행과 일치하는 문제가 있습니다. 이 예제에서는 나타나지 않지만 상황이 어떻게 발생하는지 쉽게 볼 수 있습니다. 대안은 다음을 수행하는 것입니다.

    $string = trim(preg_replace('/\s+/', ' ', $string));
    
  2. ==============================

    2.수락 된 답변에 대한 몇 가지 의견 :

    수락 된 답변에 대한 몇 가지 의견 :

    +는 "1 이상"을 의미합니다. 나는 \ s를 반복 할 필요가 없다고 생각합니다. 간단하게 '/ \ s + /'라고 쓸 수 있다고 생각합니다.

    또한 문자열에서 공백을 가장 먼저 제거하려면 트림을 추가하십시오.

    이러한 수정을 통해 코드는 다음과 같습니다.

    $string = preg_replace('/\s+/', ' ', trim($string));
    
  3. ==============================

    3.그냥 preg_replace ()를 사용하십시오.

    그냥 preg_replace ()를 사용하십시오.

    $string = preg_replace('~[\r\n]+~', '', $string);
    

    코드가 깨끗한 것처럼 보이지는 않지만 str_replace ()를 사용하여이 코드에서 벗어날 수 있습니다.

    $string = str_replace(array("\n", "\r"), '', $string);
    

    그것은 이상적으로 산다.

  4. ==============================

    4.

    $string = str_replace(array("\n", "\r"), ' ', $string);
    
  5. ==============================

    5.속도와 배열에 큰 따옴표를 사용하려면 str_replace를 사용해야합니다.

    속도와 배열에 큰 따옴표를 사용하려면 str_replace를 사용해야합니다.

    str_replace(array("\r\n","\r"),"",$string);
    
  6. ==============================

    6.PCRE regex 대체는 preg_replace를 사용하여 수행 할 수 있습니다. http://php.net/manual/en/function.preg-replace.php

    PCRE regex 대체는 preg_replace를 사용하여 수행 할 수 있습니다. http://php.net/manual/en/function.preg-replace.php

    $new_string = preg_replace("/\r\n|\r|\n/", ' ', $old_string);
    

    줄 바꾸기 또는 줄 바꿈 문자를 공백으로 바꿉니다. 그들을 대체 할 항목이 없으면 두 번째 인수를 ''로 변경하십시오.

  7. ==============================

    7.이것을 사용하십시오 :

    이것을 사용하십시오 :

    일련의 개행 문자를 빈 문자열로 대체하십시오.

    $string = preg_replace("/[\\n\\r]+/", "", $string);
    

    또는 개행 문자를 하나의 공백으로 대체하려고합니다.

    $string = preg_replace("/[\\n\\r]+/", " ", $string);
    
  8. ==============================

    8.무엇에 대한 :

    무엇에 대한 :

    $string = trim( str_replace( PHP_EOL, ' ', $string ) );
    

    이것은 틀림없이 모든 시스템에서 \ n이 올바르게 작동하지 않기 때문에 매우 견고한 솔루션입니다 ...

  9. ==============================

    9.이스케이프 시퀀스 \ R은 일반적인 개행 문자와 일치합니다.

    이스케이프 시퀀스 \ R은 일반적인 개행 문자와 일치합니다.

    $string = preg_replace('/\R+/', " ", $string);
    

    레게 x101도

  10. ==============================

    10.이미 제출 된 답변에 대해 어떤 가치가 있는지 확실하지 않지만 게시 할 수는 있습니다.

    이미 제출 된 답변에 대해 어떤 가치가 있는지 확실하지 않지만 게시 할 수는 있습니다.

    // Create an array with the values you want to replace
    $searches = array("\r", "\n", "\r\n");
    
    // Replace the line breaks with a space
    str_replace($searches, "", $string);
    
    // Replace multiple spaces with one
    $output = preg_replace('!\s+!', ' ', $string);
    
  11. ==============================

    11.이것이 내가 사용할 패턴이다.

    이것이 내가 사용할 패턴이다.

    $string = preg_replace('@[\s]{2,}@',' ',$string);
    
  12. ==============================

    12.이 탭은 탭을 제거합니다.

    이 탭은 탭을 제거합니다.

    $string = preg_replace('~[\r\n\t]+~', '', $text);
    
  13. ==============================

    13.텍스트 아래에 공백 문자와 줄 바꿈 문자는 그대로 두십시오.

    텍스트 아래에 공백 문자와 줄 바꿈 문자는 그대로 두십시오.

    $str = "
    put returns between paragraphs
    
    for linebreak add 2 spaces at end
    
    ";
    
    echo preg_replace( "/\r|\n/", "", $str );
    
  14. ==============================

    14.어쩌면이 작품 :

    어쩌면이 작품 :

    $str='\n';
    echo str_replace('\n','',$str);
    
  15. ==============================

    15.아래 코드는 모든 텍스트를 사용하십시오.

    아래 코드는 모든 텍스트를 사용하십시오.

    $des = str_replace('\n',' ',$des);
    $des = str_replace('\r',' ',$des);
    
  16. ==============================

    16.나는 거의 모든 사람들이 정규식에 대해 얼마나 아는 지 알고 놀랐다.

    나는 거의 모든 사람들이 정규식에 대해 얼마나 아는 지 알고 놀랐다.

    PHP에서 스트립 뉴 라인은

    $str = preg_replace('/\r?\n$/', ' ', $str);
    

    펄에서

    $str =~ s/\r?\n$/ /g;
    

    의미는 줄 끝의 모든 개행 문자를 바꾸고 (효율성을 위해) 선택적으로 캐리지 리턴 앞에 -를 공백으로 대체합니다.

    \ n 또는 \ 015는 개행 문자입니다. \ r 또는 \ 012는 캐리지 리턴입니다. ? 정규 표현식에서 이전 문자의 1 또는 0과 일치합니다. 정규 표현식에서 $는 라인의 끝과 일치한다는 것을 의미합니다.

    원본과 최고의 정규 표현식은 perldoc perlre이며, 모든 코더는이 문서를 잘 알아야합니다. http://perldoc.perl.org/perlre.html 모든 기능이 모든 언어에서 지원되는 것은 아닙니다.

  17. ==============================

    17.텍스트의 줄 바꿈은 일반적으로 다음과 같이 표시됩니다.

    텍스트의 줄 바꿈은 일반적으로 다음과 같이 표시됩니다.

    \ r \ n - Windows 컴퓨터에서

    \ r - Apple 컴퓨터에서

    \ n - 리눅스에서

    // 모든 세 가지 유형의 줄 바꿈을 제거합니다.

    $ string = str_replace ( "\ r", "", $ string);

    $ string = str_replace ( "\ n", "", $ string);

  18. from https://stackoverflow.com/questions/3760816/remove-new-lines-from-string by cc-by-sa and MIT license