2014-06-17 2 views
0

사용자가 여러 줄을 입력 할 수있는 텍스트 영역이 하나 있습니다. 새 줄을 입력하면 내 테이블에 새 레코드로 삽입됩니다. 어떻게 이것을 달성하기 위해 nl2br() 함수를 사용할 수 있습니까? 내가 간과하고있는 쉬운 해결책이 있습니까? 아니면 nl2br이 아닌 다른 것을 필요로합니까?새로운 MYSQL 행의 PHP nl2br()

+0

을 살균해야 물론

$lines = explode("\n", $_POST['text_area_input']); foreach($lines as $line) { // do database insert query for each $line } 

같은 것을 할 필요가있을 것이다 요소를 별도로. 'nl2br'은 여기에 필요하지 않습니다. 데이터를 표시 할 때 필요할 수 있습니다. –

+0

nl2br()은 데이터베이스에서 사용하기 위해 서식 지정하는 데 사용하는 것이 아니라 html 서식 지정 도구입니다. 나는 당신이 데이터베이스를 의미하는 테이블을 가정합니다! – niaccurshi

+0

각 항목을 어떻게 감지합니까? 지금 내가 textarea에 들어가서 내 데이터베이스에 제출하면 캐리지 리턴을 기록 할 아무 것도 없습니다. – user2727128

답변

0

nl2br()은 전달하는 변수에 관계없이 "\n"에서 "<br>"까지만 대체합니다. 변수를 여러 변수/배열로 분리하지 않습니다.

당신은 또한 당신은 각각`\ n` (줄 바꿈) 문자 후 문자열을 분할하고 각을 삽입해야 사용자 입력

+0

이것은 정확히 내가 필요로하는 것처럼 보이지만 가장 큰 문제는 위에서 언급 한 것입니다. 엔터를 치고 새 줄을 입력하면 "\ n"이 저장되지 않습니다. 내가 잘못 texarea를 설정했거나 그 정보가 MYSQL 테이블에 전달되지 않았습니까? – user2727128

+0

"\ n"은 보이는 문자 자체가 아닙니다. 텍스트에서 줄 바꿈이 표시되는 경우 "\ n"또는 "\ r"문자 때문입니다. 또한 관련 메모에서 PHP 코드에서 이러한 문자와 함께 큰 따옴표를 사용하십시오. '\ n'은 리터럴 "\"및 "n"문자로 평가됩니다 –

+0

텍스트 영역에 텍스트를 입력하고 Enter 키를 누르면, 그런 다음 텍스트의 한 블록으로 해석되는 새 줄을 입력하십시오. 나는 $ _POST에서 $ line을 곧바로 뽑아 냈다. \ n이나 \ r은 없었다. 마치 한 줄로 된 것처럼 모든 텍스트. 휴식 시간에 데리러 뭔가를해야합니까? – user2727128