문자열을 배열에 넣고 줄 바꿈으로 나누는 방법?
PHP문자열을 배열에 넣고 줄 바꿈으로 나누는 방법?
데이터베이스에 줄 바꿈이있는 문자열이 있습니다. 해당 문자열을 배열로 변환하고 모든 새 줄에 대해 배열의 한 인덱스 위치로 이동합니다.
문자열이 다음과 같은 경우 :
내가 원하는 결과는 다음과 같습니다.
Array
(
[0] => My text1
[1] => My text2
[2] => My text3
)
해결법
-
==============================
1.구분 기호로 "\ n"을 사용하여 분해 기능을 사용할 수 있습니다.
구분 기호로 "\ n"을 사용하여 분해 기능을 사용할 수 있습니다.
$your_array = explode("\n", $your_string_from_db);
예를 들어, 다음 코드가있는 경우 :
$str = "My text1\nMy text2\nMy text3"; $arr = explode("\n", $str); var_dump($arr);
당신은이 출력을 얻을 것이다 :
array 0 => string 'My text1' (length=8) 1 => string 'My text2' (length=8) 2 => string 'My text3' (length=8)
큰 따옴표로 묶은 문자열을 사용해야하므로 \ n은 실제로 줄 바꿈으로 해석됩니다. (자세한 내용은 해당 매뉴얼 페이지 참조)
-
==============================
2.줄 바꿈은 \ r \ n, \ r 또는 \ n 다른 플랫폼에서 다르게 정의됩니다.
줄 바꿈은 \ r \ n, \ r 또는 \ n 다른 플랫폼에서 다르게 정의됩니다.
RegExp를 사용하여 문자열을 분할하면 세 가지 모두를 \ R과 일치시킬 수 있습니다.
그래서 귀하의 문제 :
$array = preg_split ('/$\R?^/m', $string);
그것은 Windows, Mac 및 Linux에서 줄 바꿈과 일치합니다!
-
==============================
3.저는 항상 이것을 큰 성공과 함께 사용했습니다 :
저는 항상 이것을 큰 성공과 함께 사용했습니다 :
$array = preg_split("/\r\n|\n|\r/", $string);
(최종 수정 된 \ r, 감사합니다 @ LobsterMan)
-
==============================
4.PHP는 이미 현재 시스템의 개행 문자를 알고있다. EOL 상수를 사용하십시오.
PHP는 이미 현재 시스템의 개행 문자를 알고있다. EOL 상수를 사용하십시오.
explode(PHP_EOL,$string)
-
==============================
5.더 빠른 Davids 응답의 대안은 str_replace를 사용하고 폭발시키는 것입니다.
더 빠른 Davids 응답의 대안은 str_replace를 사용하고 폭발시키는 것입니다.
$arrayOfLines = explode("\n", str_replace(array("\r\n","\n\r","\r"),"\n",$str) );
무슨 일이 일어나고 : 줄 바꿈은 다른 형식으로 올 수 있으므로 str_replace \ r \ n, \ n \ r 및 \ r 대신 \ n이 대신 사용됩니다 (원래의 \ n은 그대로 유지됩니다). 그런 다음 \ n에 폭발 시키면 배열의 모든 행이 나타납니다.
이 페이지의 src에서 벤치 마크를 수행하고 for 회 돌이에서 1000 회를 나누었습니다. preg_replace가 평균 11 초 소요되었습니다. str_replace & explode의 평균 소요 시간은 약 1 초입니다.
내 포럼에 대한 자세한 내용과 벤치 마크 정보
-
==============================
6.데이비드 : 위대한 방향,하지만 당신은보고 싶었어. 이것은 나를 위해 일했다 :
데이비드 : 위대한 방향,하지만 당신은보고 싶었어. 이것은 나를 위해 일했다 :
$array = preg_split("/(\r\n|\n|\r)/", $string);
-
==============================
7.
explode("\n", $str);
"(대신에)"는 매우 중요합니다. 그렇지 않으면 줄 바꿈이 해석되지 않습니다.
-
==============================
8.개행으로 문자열을 배열로 끊어 내기 위해서는 preg_ * 함수 나 preg 패턴, str_replace 등이 필요 없습니다. 모든 시나리오에서 Linux / Mac 또는 m $이됩니다.
개행으로 문자열을 배열로 끊어 내기 위해서는 preg_ * 함수 나 preg 패턴, str_replace 등이 필요 없습니다. 모든 시나리오에서 Linux / Mac 또는 m $이됩니다.
<?php $array = explode(PHP_EOL, $string); // ... $string = implode(PHP_EOL, $array); ?>
-
==============================
9.
<anti-answer>
다른 답변이 지정되었으므로 PHP 5.3.0 split이 더 이상 사용되지 않으므로 분리하지 말고 explode를 사용해야합니다. 즉 다음과 같은 방식으로 원하는 방식대로 수행 할 수 없습니다.
$your_array = split(chr(10), $your_string);
LF = "\ n"= chr (10), CR = "\ r"= chr (13)
</anti-answer>
-
==============================
10.StackOverflow는 hesselbom의 답변 (충분한 평판이 없음)에 대한 코멘트를 허용하지 않으므로 내 자신을 추가하고 있습니다 ...
StackOverflow는 hesselbom의 답변 (충분한 평판이 없음)에 대한 코멘트를 허용하지 않으므로 내 자신을 추가하고 있습니다 ...
$array = preg_split('/\s*\R\s*/', trim($text), NULL, PREG_SPLIT_NO_EMPTY);
이는 공백을 자동으로 제거하고 공백 행 (PREG_SPLIT_NO_EMPTY 플래그)을 건너 뜁니다. 또한 공백 (두 번째 \ s *) 및 후행 (첫 번째 \ s *) 공백을 자동으로 제거하므로이 기능이 가장 잘 작동합니다.
- = 옵션 = -
선행 공백을 유지하려면 두 번째 \ s *를 제거하고 대신 rtrim ()으로 만드십시오.
$array = preg_split('/\s*\R/', rtrim($text), NULL, PREG_SPLIT_NO_EMPTY);
빈 라인을 유지할 필요가 있다면, NULL을 제거하십시오 (단지 자리 표시 자 임). PREG_SPLIT_NO_EMPTY 플래그는 다음과 같습니다.
$array = preg_split('/\s*\R\s*/', trim($text));
또는 선행 공백과 빈 줄을 모두 유지하는 중 ...
$array = preg_split('/\s*\R/', rtrim($text));
왜 공백 문자를 계속 남기고 싶은지 모르겠으니 거기에 첫 번째 \ s *를 남겨 둘 것을 제안합니다. 그러나 원하는 모든 것이 새로운 라인으로 나뉘어지면 (제목에서 알 수 있듯이) 이것은 간단합니다 (Jan Goyvaerts가 언급 한 것처럼) ...
$array = preg_split('/\R/', $text);
-
==============================
11.crontab에 cronjob을 표시하고 각 행을 분리하는 방법에 대해 좌절감을 느끼려는 사람은 explode를 사용하십시오.
crontab에 cronjob을 표시하고 각 행을 분리하는 방법에 대해 좌절감을 느끼려는 사람은 explode를 사용하십시오.
$output = shell_exec('crontab -l'); $cron_array = explode(chr(10),$output);
'\ n'을 사용하면 작동하지 않지만 chr (10)은 잘 작동합니다. D
이것이 어떤 사람에게는 두통을 줄 수 있기를 바랍니다.
-
==============================
12.당신은 이것을 사용할 수 있습니다 :
당신은 이것을 사용할 수 있습니다 :
\str_getcsv($str,PHP_EOL);
-
==============================
13.줄 바꿈이 다음과 같이 바뀌도록 $ string = nl2br ($ string)을 할 수 있습니다.
줄 바꿈이 다음과 같이 바뀌도록 $ string = nl2br ($ string)을 할 수 있습니다.
<br />.
이 방법은 시스템이 \ r \ n 또는 \ n 또는 \ r을 사용하는지는 중요하지 않습니다.
그런 다음 배열로 피드 할 수 있습니다.
$array = explode("<br />", $string);
-
==============================
14.
$str = "My text1\nMy text2\nMy text3"; $arr = explode("\n", $str); foreach ($arr as $line_num => $line) { echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n"; }
실제 배열 :
$str = "My text1\nMy text2\nMy text3"; $arr = explode("\n", $str); $array = array(); // inisiasi variable array in format array foreach ($arr as $line) { // loop line by line and convert into array $array[] = $line; }; print_r($array); // display all value echo $array[1]; // diplay index 1
온라인 퍼가기 :
본문, HTML, iframe { 너비 : 100 %; 높이 : 100 %; 오버 플로우 : 숨김; }
-
==============================
15.이 방법은 항상 나를 위해 작동합니다.
이 방법은 항상 나를 위해 작동합니다.
$uniquepattern="gd$#%@&~#"//Any set of characters which you dont expect to be present in user input $_POST['text'] better use atleast 32 charecters. $textarray=explode($uniquepattern,str_replace("\r","",str_replace("\n",$uniquepattern,$_POST['text'])));
-
==============================
16.'기본'패키지 만 사용하는 것도 간단한 경우의 해결책입니다.
'기본'패키지 만 사용하는 것도 간단한 경우의 해결책입니다.
> s <- "a\nb\rc\r\nd" > l <- strsplit(s,"\r\n|\n|\r") > l # the whole list... [[1]] [1] "a" "b" "c" "d" > l[[1]][1] # ... or individual elements [1] "a" > l[[1]][2] [1] "b" > fun <- function(x) c('Line content:', x) # handle as you wish > lapply(unlist(l), fun)
-
==============================
17.PHP docs에서 이걸 골랐어 요 :
PHP docs에서 이걸 골랐어 요 :
<?php // split the phrase by any number of commas or space characters, // which include " ", \r, \t, \n and \f $keywords = preg_split("/[\s,]+/", "hypertext language, programming"); print_r($keywords); ?>
-
==============================
18.문자열이나 줄 바꿈 사이에 특수 문자를 사용하면 \ n PHP를 사용하여 우리는 이것을 얻을 수 있습니다.
문자열이나 줄 바꿈 사이에 특수 문자를 사용하면 \ n PHP를 사용하여 우리는 이것을 얻을 수 있습니다.
from https://stackoverflow.com/questions/1483497/how-to-put-string-in-array-split-by-new-line by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
정의되지 않은 함수 mysql_connect () (0) | 2018.09.15 |
---|---|
PHP에서 RSA로 텍스트 암호화 및 암호 해독 (0) | 2018.09.15 |
하이픈으로 연결된 이름으로이 객체 속성에 액세스하려면 어떻게합니까? (0) | 2018.09.15 |
PHP (5.3+)에서 \ (백 슬래시)는 무엇을합니까? (0) | 2018.09.14 |
PHP로 1 주일을 보냅니 까? (0) | 2018.09.14 |