문자열에서 줄 바꿈 (문자 없음!)을 제거하는 방법?
PHP문자열에서 줄 바꿈 (문자 없음!)을 제거하는 방법?
이것은 속은 것처럼 보일지 모르지만 안심 하셔도됩니다. 저는 문제의 해결책을 찾기 위해 웹뿐만 아니라 나머지를 검색하여 계속해서 동일한 "솔루션"을 찾아내는 일을 반복했습니다. 어쨌든, 여기에 간다 :
텍스트 영역에서 MySQL 데이터베이스 (WordPress 환경 내에서 사용자 입력 내용을 저장하고 있지만이 문제는 중요하지 않습니다.) 나중에 DB에서 검색되어 사이트 백엔드의 관리자에게 표시됩니다. 이 문제는 사용자가 줄 바꿈 (예 : Enter 키 누르기)이있는 텍스트를 제출할 때 발생합니다.
샘플 문자열은 다음과 같습니다.
Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!
Greetings,
Bill
문자열에 끝 문자 ( "\ n", "\ r"등)가 없습니다.
HTML 출력을 생성하기 위해 nl2br ()을 사용하고 있지만 충분하지 않습니다. 결과는 다음과 같습니다.
Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br />
<br />
Greetings,<br />
Bill
내가 이해하는 한, 예상되는 nl2br () 결과는 태그를 삽입하고 첫 번째 줄 바꿈을 대체하지 않기 때문입니다.
그러나 필요한 형식은 다음과 같습니다.
Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br /><br />Greetings,<br />Bill
문자열에 "\ n"과 같은 EOL 문자가 있으면 str_replace () 또는 preg_replace ()를 사용하여 끝내고 끝내야합니다. 그러나 거기에 해당하는 경우 해당 바늘에 어떤 바늘을 공급해야하는지 전혀 알지 못합니다. 첫 번째 장소에는 문자가 없습니다.
DB의 관련 필드에 수동으로 액세스 할 수 있으며, 모든 줄 바꿈을 위해 Backspace를 누르고 나중에이 문자열로 수행 할 작업을 수행 할 수 있습니다. 그래서 위의 형식이 필요하다는 것을 압니다.
해결법
-
==============================
1.모든 개행과 캐리지 리턴을 제거하는 preg으로 대체 할 수 있어야합니다. 코드는 다음과 같습니다.
모든 개행과 캐리지 리턴을 제거하는 preg으로 대체 할 수 있어야합니다. 코드는 다음과 같습니다.
preg_replace( "/\r|\n/", "", $yourString );
\ n 문자가 나타나지 않더라도 캐리지 리턴을 얻는다면 거기에 보이지 않는 문자가 있습니다. preg replace는 그 (것)들을 붙잡고 고쳐야한다.
-
==============================
2.Ben의 해결책은 받아 들일 만하지만 str_replace ()는 preg_replace ()보다 훨씬 빠릅니다.
Ben의 해결책은 받아 들일 만하지만 str_replace ()는 preg_replace ()보다 훨씬 빠릅니다.
$buffer = str_replace(array("\r", "\n"), '', $buffer);
CPU 사용량을 줄이면 전 세계의 이산화탄소 배출량을 줄일 수 있습니다.
-
==============================
3.
$str = " Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br /> <br /> Greetings,<br /> Bill"; echo str_replace(array("\n", "\r"), '', $str); // echo $str in a single line
-
==============================
4.nl2br ()은 새 줄을 전혀 제거하지 않기 때문입니다.
nl2br ()은 새 줄을 전혀 제거하지 않기 때문입니다.
str_replace를 대신 사용하십시오 :
$string = str_replace(array("\r\n", "\r", "\n"), "<br />", $string);
-
==============================
5.Windows에서도 제대로 작동하려면 사용을 권장합니다.
Windows에서도 제대로 작동하려면 사용을 권장합니다.
$buffer = str_replace(array("\r\n", "\r", "\n"), "", $buffer);
"\ r \ n"- Windows의 경우 "\ r"- Mac의 경우 "\ n"- Linux의 경우
-
==============================
6.PHP trim을 사용할 수도 있습니다.
PHP trim을 사용할 수도 있습니다.
-
==============================
7.str_replace (PHP_EOL, null, $ str);
str_replace (PHP_EOL, null, $ str);
-
==============================
8.좀 더 기능적인 (어디서나 사용하기 쉽다) :
좀 더 기능적인 (어디서나 사용하기 쉽다) :
function strip_carriage_returns($string) { return str_replace(array("\n\r", "\n", "\r"), '', $string); }
PHP_EOL을 검색 대체 매개 변수로 사용하는 것도 좋은 생각입니다! 명성.
-
==============================
9.WP로 작업하고 있으므로 Wordpress wpautop () 함수를 활용하지 않으시겠습니까? https://codex.wordpress.org/Function_Reference/wpautop
WP로 작업하고 있으므로 Wordpress wpautop () 함수를 활용하지 않으시겠습니까? https://codex.wordpress.org/Function_Reference/wpautop
시험:
wpautop( $string );
from https://stackoverflow.com/questions/10757671/how-to-remove-line-breaks-no-characters-from-the-string by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
PHP는 배열을 SubArray 값으로 정렬합니다. (0) | 2018.09.18 |
---|---|
HTML 콘텐츠에서 스크립트 태그 제거 (0) | 2018.09.18 |
날짜 문자열이 해당 형식의 유효한 날짜인지 정확하게 판단하십시오. (0) | 2018.09.18 |
예약 된 작업에서 PHP 파일을 실행하는 방법 (Windows 작업 스케줄러) (0) | 2018.09.18 |
Mcrypt로 파일 암호화 / 암호 해독 (0) | 2018.09.18 |