문자열에서 줄 바꾸기
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.이중 줄 바꿈에주의를 기울여야하므로 이중 공백이 생깁니다. 이 매우 효율적인 정규식을 사용하십시오.
이중 줄 바꿈에주의를 기울여야하므로 이중 공백이 생깁니다. 이 매우 효율적인 정규식을 사용하십시오.
$string = trim(preg_replace('/\s\s+/', ' ', $string));
여러 공백과 개행은 단일 공백으로 대체됩니다.
편집 : 다른 사람들이 지적했듯이,이 솔루션은 단어 사이에 하나의 개행과 일치하는 문제가 있습니다. 이 예제에서는 나타나지 않지만 상황이 어떻게 발생하는지 쉽게 볼 수 있습니다. 대안은 다음을 수행하는 것입니다.
$string = trim(preg_replace('/\s+/', ' ', $string));
-
==============================
2.수락 된 답변에 대한 몇 가지 의견 :
수락 된 답변에 대한 몇 가지 의견 :
+는 "1 이상"을 의미합니다. 나는 \ s를 반복 할 필요가 없다고 생각합니다. 간단하게 '/ \ s + /'라고 쓸 수 있다고 생각합니다.
또한 문자열에서 공백을 가장 먼저 제거하려면 트림을 추가하십시오.
이러한 수정을 통해 코드는 다음과 같습니다.
$string = preg_replace('/\s+/', ' ', trim($string));
-
==============================
3.그냥 preg_replace ()를 사용하십시오.
그냥 preg_replace ()를 사용하십시오.
$string = preg_replace('~[\r\n]+~', '', $string);
코드가 깨끗한 것처럼 보이지는 않지만 str_replace ()를 사용하여이 코드에서 벗어날 수 있습니다.
$string = str_replace(array("\n", "\r"), '', $string);
그것은 이상적으로 산다.
-
==============================
4.
$string = str_replace(array("\n", "\r"), ' ', $string);
-
==============================
5.속도와 배열에 큰 따옴표를 사용하려면 str_replace를 사용해야합니다.
속도와 배열에 큰 따옴표를 사용하려면 str_replace를 사용해야합니다.
str_replace(array("\r\n","\r"),"",$string);
-
==============================
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.이것을 사용하십시오 :
이것을 사용하십시오 :
일련의 개행 문자를 빈 문자열로 대체하십시오.
$string = preg_replace("/[\\n\\r]+/", "", $string);
또는 개행 문자를 하나의 공백으로 대체하려고합니다.
$string = preg_replace("/[\\n\\r]+/", " ", $string);
-
==============================
8.무엇에 대한 :
무엇에 대한 :
$string = trim( str_replace( PHP_EOL, ' ', $string ) );
이것은 틀림없이 모든 시스템에서 \ n이 올바르게 작동하지 않기 때문에 매우 견고한 솔루션입니다 ...
-
==============================
9.이스케이프 시퀀스 \ R은 일반적인 개행 문자와 일치합니다.
이스케이프 시퀀스 \ R은 일반적인 개행 문자와 일치합니다.
$string = preg_replace('/\R+/', " ", $string);
레게 x101도
-
==============================
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.이것이 내가 사용할 패턴이다.
이것이 내가 사용할 패턴이다.
$string = preg_replace('@[\s]{2,}@',' ',$string);
-
==============================
12.이 탭은 탭을 제거합니다.
이 탭은 탭을 제거합니다.
$string = preg_replace('~[\r\n\t]+~', '', $text);
-
==============================
13.텍스트 아래에 공백 문자와 줄 바꿈 문자는 그대로 두십시오.
텍스트 아래에 공백 문자와 줄 바꿈 문자는 그대로 두십시오.
$str = " put returns between paragraphs for linebreak add 2 spaces at end "; echo preg_replace( "/\r|\n/", "", $str );
-
==============================
14.어쩌면이 작품 :
어쩌면이 작품 :
$str='\n'; echo str_replace('\n','',$str);
-
==============================
15.아래 코드는 모든 텍스트를 사용하십시오.
아래 코드는 모든 텍스트를 사용하십시오.
$des = str_replace('\n',' ',$des); $des = str_replace('\r',' ',$des);
-
==============================
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.텍스트의 줄 바꿈은 일반적으로 다음과 같이 표시됩니다.
텍스트의 줄 바꿈은 일반적으로 다음과 같이 표시됩니다.
\ r \ n - Windows 컴퓨터에서
\ r - Apple 컴퓨터에서
\ n - 리눅스에서
// 모든 세 가지 유형의 줄 바꿈을 제거합니다.
$ string = str_replace ( "\ r", "", $ string);
$ string = str_replace ( "\ n", "", $ string);
from https://stackoverflow.com/questions/3760816/remove-new-lines-from-string by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
페이스 북의 그래프 API로 사진을 앨범에 업로드 (0) | 2018.09.14 |
---|---|
PHP FOR에서 FOREACH의 성능 (0) | 2018.09.14 |
효율적인 JPEG 이미지 크기 조정 (0) | 2018.09.14 |
PHP : array_filter ()를 사용하여 배열 키를 필터링하는 방법은 무엇입니까? (0) | 2018.09.14 |
PHP를 사용하여 HTTP 헤더를 UTF-8로 설정 (0) | 2018.09.14 |