source

문자열에서 줄 바꿈(문자 없음!)을 제거하는 방법

gigabyte 2023. 1. 2. 22:39
반응형

문자열에서 줄 바꿈(문자 없음!)을 제거하는 방법

이것은 중복으로 보일 수 있지만, 그렇지 않습니다.저는 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을 사용하는 것도 좋은 방법입니다!쿠도스

PHP 트림을 사용할 수도 있습니다.

이 함수는 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()

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

반응형