2012-03-12 3 views
1

텍스트 영역에 개행 문자를 삽입하는 데 약간의 문제가 있습니다. 내가 양식을 제출 한 후 데이터베이스의 텍스트가 같은 것을 보여줍니다개행 문자로 삽입 및 검색

"텍스트 \ 연구 \의 nfor에"(내가 창문에있어) 다음과 같은 텍스트가 들어

:


"
텍스트" 나는 텍스트 영역에서 데이터베이스에서 해당 텍스트를 검색 한 후

는 그 다음 보여줍니다 :

내가 PHP를 사용하여 텍스트를 넣어있어

"에 대한 텍스트 \ 연구 \ n \" 텍스트 영역은 다음과 같습니다 :

<textarea name="post_content">{$post_content}</textarea> 

\ n 또는 \ r \ n 대신 줄 바꿈 문자로 올바르게 렌더링하고 싶습니다.

+1

콘텐츠를 반향시키기 전에 '\ r'을 (를)'str_replace()'로 제거하십시오. EX :'str_replace ("\ r \ n", "\ n");' – SIFE

+0

나는 혼란 스럽다. '\ r'을 모두 제거 하시겠습니까? 아니면 텍스트 영역에 새 행 대신에 2 개의 기호 \와 n이 실제로 있습니까? – Basti

+0

\ n 또는 \ r \ n (Windows 대응)을 일반 "\ r \ n \"텍스트 대신 새 줄로 렌더링하려고합니다. – Mayhem93

답변

2

데이터베이스에 저장된 텍스트의 길이는 \이며, 줄 바꿈을 렌더링하기 전에 발생하는 n을 이스케이프한다는 의미입니다.

가장 쉬운 수정은 다음과 같이 두 번째 \와 텍스트를 저장하는 것입니다 :

이 다음과 같이 PHP에 의해 렌더링 될
text\\r\\nfor 

하십시오으로 HTML을 만들 것

text\r\nfor 

줄 바꿈.

+0

고마워, 그게 문제라고 생각해. D, 필요한 변화를 만들거야. – Mayhem93

+0

아니, 작동하지 않습니다 :(지금, 나는 str_replace \ r \ n \ r r \\ n을 사용하여 텍스트 영역에서 rn을 얻습니다. – Mayhem93

+0

내 문제가 무엇인지 발견했습니다. mysql_escape_string을 사용하고 있으며 백 슬래시 모든 \ n과 \ r 문자에 : – Mayhem93

-1

당신이해야 할 일은 텍스트 영역에 표시 한 값으로 새 줄을 인코딩하는 것입니다. 당신은 서버 측 또는 클라이언트 측 html_encode 함수에서 이것을 할 수 있습니다. 그래서 기본적으로 모든이 \n, \r<br>.\r\n 그것이

+0

'