2010-03-26 2 views
1

사용자가 StackOverflow에서 질문을 입력하는 것처럼 텍스트 영역 요소를 통해 텍스트를 입력합니다.사용자 제출 텍스트에서 데이터베이스의 줄 바꿈을 유지하는 방법은 무엇입니까?

데이터베이스에서 줄 간격을 보존하여 프런트 엔드에서 재생할 수있는 가장 좋은 방법은 무엇입니까? 사용자가 원래 입력 한 텍스트와 동일한 줄 바꿈 및 빈 줄이 텍스트에 표시됩니다.

+0

어떤 언어를 사용하고 있습니까? – jaywon

+0

레일 (루비)을 사용하여 – Crashalot

답변

1

글쎄, HTTP POST 데이터는 사용자가 텍스트 영역에 타이핑 한 것처럼 (거의) 들어옵니다. 데이터베이스에 그대로 입력 한 내용이 저장되면 문제가되지는 않습니다. 당신이 생각하고있는 것은 정보를 웹 브라우저에서 제대로 포맷 할 수 있도록 다시 표시하는 것입니다. 이 PHP에서, 예를 들어, 데이터베이스 나오는 때를 들면

, 당신은 텍스트를 수정해야합니다 :

$formatted_text = preg_replace(
    # patterns 
    array('/\\r?\\n/', '/ /'), 

    # replacements 
    array('<br />', '&nbsp;'), 

    # input text 
    $text_from_database 
); 

줄 바꿈 및 여러 공백을 모두 보존됩니다.

+0

감사합니다. mysql이 데이터를 축 어적으로 저장하고있는 것 같지 않습니다 ... 어떻게 확인할 수 있습니까? – Crashalot

+0

데이터베이스에 더미 정보를 제출하고 MySQL 명령 줄 인터페이스를 사용하여 다시 꺼내려고 할 수 있습니다. – amphetamachine

관련 문제