문자열에서 줄 바꿈(문자 없음!)을 제거하는 방법
이것은 중복으로 보일 수 있지만, 그렇지 않습니다.저는 SO와 다른 웹 사이트를 모두 검색하여 문제에 대한 답을 찾았지만, 몇 번이고 같은 불충분한 "해결책"어쨌든, 이렇게 하자.
텍스트 영역에서 MySQL 데이터베이스로 사용자 입력을 저장하고 있습니다(WordPress 환경 내이지만 이 문제에는 해당되지 않을 것입니다).나중에 DB에서 검색되어 사이트의 백엔드에 있는 관리자에게 표시됩니다.이 문제는 사용자가 줄 바꿈(Enter 키를 누르는 등)을 포함한 텍스트를 제출할 때 발생합니다.
샘플 문자열은 다음과 같습니다.
Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!
Greetings,
Bill
문자열에는 행 끝 문자("\n", "\r" 등)가 없습니다.
하고 .nl2br()
HTML html html html html html html html html html 。을 사용하다
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
"\ EOL , "\n"과 EOL로 칠 입니다.str_replace()
★★★★★★★★★★★★★★★★★」preg_replace()
하지만 애초에 캐릭터가 없으면 어떤 기능을 해야 할지 모르겠어요
DB의 관련 필드에 수동으로 액세스하여 줄 바꿈마다 Backspace를 누를 수 있으며 나중에 문자열로 수행할 작업을 수행할 수 있습니다.그래서 위와 같은 형식이 필요하다는 것을 알고 있습니다.
Ben의 솔루션은 허용되지만 str_replace()는 preg_replace()보다 훨씬 빠릅니다.
$buffer = str_replace(array("\r", "\n"), '', $buffer);
CPU의 소비전력을 줄임으로써 세계의 이산화탄소 배출량을 줄일 수 있습니다.
새 줄과 캐리지 리턴을 모두 삭제하는 프리그로 교체할 수 있습니다.코드는 다음과 같습니다.
preg_replace( "/\r|\n/", "", $yourString );
\n
이치노캐리지 리턴을 받을 경우 보이지 않는 문자가 있습니다.산부인과 교환이 그것들을 잡고 고쳐야 합니다.
$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
새로운 선이 전혀 없어지지 않기 때문입니다.
「」가 붙은 합니다.
<br />
★★★★★★★★★★★★★★★★★」<br>
모든 줄바꿈 앞에 삽입(\r\n
,\n\r
,\n
★★★★★★★★★★★★★★★★★」\r
를 참조해 주세요.
str_replace
★★★★
$string = str_replace(["\r\n", "\r", "\n"], "<br />", $string);
str_replace(PHP_EOL, null, $str);
Windows에서도 올바르게 동작하려면
$buffer = str_replace(["\r\n", "\r", "\n"], "", $buffer);
"\r\n"
- Windows의 경우,"\r"
- Mac 및"\n"
(Linux의 경우)
조금 더 기능적인 것(어디서나 사용하기 쉬운 것):
function strip_carriage_returns($string)
{
return str_replace(["\n\r", "\n", "\r"], '', $string);
}
검색 대체 파라미터로 PHP_EOL을 사용하는 것도 좋은 방법입니다!쿠도스
이 함수는 str의 시작과 끝에서 공백이 제거된 문자열을 반환합니다.두 번째 파라미터가 없으면 trim()은 다음 문자를 삭제합니다.
- " (ASCII 32 (0x20), 보통 공간입니다.
- "\t"(ASCII 9(0x09)), 탭.
- "\n"(ASCII 10(0x0A), 새로운 행(라인 피드).
- "\r"(ASCII 13(0x0D)", 캐리지 리턴.
- "\0"(ASCII 0(0x00), NUL 바이트).
- "\x0B"(ASCII 11(0x0B)", 세로 탭.
답변이 너무 늦은 것 같은데 JS스크립트에서 사용하다가 같은 추가 행 문제가 발생했는데 이렇게 동작합니다.
이렇게 하면 추가가 됩니다.<br />
줄이 끊어집니다.
$text = nl2br($text);
이 행은 여분의 행을 삭제합니다.
$text = preg_replace("/\r|\n/", "", $text);
교환<br />
이 아스타리스크와 같은 원치 않는 공통 기호와 함께**
DB에 삽입하는 동안:
$text = str_replace("<br />","**",$text );
그리고 그 시간에 프로그램에서 사용하고 싶을 때 대신 사용합니다.**
.
$text = str_replace("**","\\n",$text );
그 후 사용$text
예정대로
난 이 일을 할 때 세 줄을 쓰니까, 달러를 네 물건으로 생각해.
$s=str_replace(chr(10),'',$s);
$s=str_replace(chr(13),'',$s);
$s=str_replace("\r\n"),'',$s);
- 범례:
chr(10)__a 라인 피드
chr(13)__ 반환
\r\n____새 행
trim — Strip whitespace (or other characters) from the beginning and end of a string
Description ¶
trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] ) : string
This function returns a string with whitespace stripped from the beginning and end of str.
Without the second parameter, trim() will strip these characters:
" " (ASCII 32 (0x20)), an ordinary space.
"\t" (ASCII 9 (0x09)), a tab.
"\n" (ASCII 10 (0x0A)), a new line (line feed).
"\r" (ASCII 13 (0x0D)), a carriage return.
"\0" (ASCII 0 (0x00)), the NUL-byte.
"\x0B" (ASCII 11 (0x0B)), a vertical tab.
다른 종류의 텍스트 파일에서 줄 바꿈을 제거하기 위해 있지만 html은 처리하지 않습니다.
preg_replace 를 사용하면 다음과 같이 정규 표현과 일치하는 문자열의 일부를 바꿀 수 있습니다.
preg_replace("/\s+/","",$string);
언급URL : https://stackoverflow.com/questions/10757671/how-to-remove-line-breaks-no-characters-from-the-string
'source' 카테고리의 다른 글
배열의 첫 번째 요소를 가져옵니다. (0) | 2023.01.02 |
---|---|
MySQL vs. JSON - 왜? (0) | 2023.01.02 |
MySQL 한 테이블에서 모든 열을 선택하고 다른 테이블에서 일부 열을 선택합니다. (0) | 2023.01.02 |
PHP와 함께 컬을 사용하여 파일을 업로드하는 방법 (0) | 2023.01.02 |
외부 변수에 대한 내 함수 액세스 허용 (0) | 2023.01.02 |