2011-01-12 4 views
3

내가 텍스트 영역을 말해봐, 사용자가 정보를 정확히 아래 스타일을 좋아 들어간다 :Textarea 배열 또는 implode?

Ice cream 
Chocolate 

는이 정보를 제출, 그래서 같이 정확하게 정보를 검색 할 :

Ice cream, Chocolate 

이 최고입니다 방법은 그것을 할 수 있습니다 :

$arr = explode("\n", $var); 
$arr = implode(",", $arr); 

과 같이 그 일을, 그렇게 같은 정보를 박았 :

,
Ice cream , Chocolate 

크림 후 공간에주의하십시오. 간단하게 trim()을 고쳐 줄 수 있습니까?

+0

확인하기가 어렵습니까? –

답변

7
$text = preg_replace("~\s*[\r\n]+~", ', ', $text); 
+0

고마워요 :) 그게 훨씬 깔끔하고 잘 작동 해요. – Latox

+0

나는 어떻게이 비자를 할 것입니까? "아이스크림, 초콜릿"을 선택하고 텍스트 영역에 표시하기 위해 원래의 것으로 다시 변환하려고한다고 가정 해보십시오. – Latox

+0

@ 카일 R : 음, 쉼표 **를 한 줄에 넣을 수 있으므로 뒤로 변환 할 수 없습니다 **. 나는 항상 사용자의 데이터를 수정하지 않고 그대로 저장하고 필요할 때만 (표시 할 때) 필요한 수정을 적용하여 장식합니다. 귀하의 경우에 적절한가? – zerkms

0

폭발로 인해 "\ r \ n"이 문제를 해결하겠습니까? Windows 기반 컴퓨터에서 새로운 줄을 알았습니다.

1

망가 저장소 수정 된 데이터를 DB에, 단지 원래의 저장은 사용자에게 제시 할 때 그래서 그들은 쉽게 편집 할 수 있습니다.

지금까지 선 위에

$text = preg_replace("~\s*[\r\n]+~", ', ', $text); 

zrekms에서 언급 한 바와 같이 사용자의 브라우저를 사용 정규식에 현재 출력이 충분 당신을 때, 그 표시로.

오 BTW 새로운 라인을 폭발하고 싶지만 ... 그들은 대신이 일을 각 OS에 다르기 때문에

$arr = explode("\n", $var); 
$arr = explode("\r\n", $var); 
$arr = explode("\r", $var); 

그냥

$arr = explode(PHP_EOL, $var); 

PHP_EOL를 사용하는 방법을 잘 모릅니다 사람들 개행 문자와 그 OS에 독립적입니다.