2010-07-09 6 views
0

새내기 질문은 여기에 있습니다.데이터베이스 보고서에서 줄 바꿈 문자 다루기

텍스트 영역이있는 웹 양식이 있으며 당연히 사용자는 줄 바꿈 문자도 입력하게됩니다. 이 양식을 DB의 테이블에 저장합니다. 또한이 보고서를 작성해야합니다. 그래서 나는 테이블을 텍스트에 버리고 구문 분석하려고합니다. 여러 레코드 사이에있는 구분 기호는 줄 바꿈 문자입니다. 그러나 텍스트 영역의 새로운 라인 문자로 인해 대본이 나옵니다.

이전에 누군가가이 문제를 겪었어야합니다. 이 문제를 해결하는 방법에 대한 아이디어를 제게 제안 해 주시겠습니까? 텍스트 영역의 텍스트를 큰 따옴표로 표시하려고 시도했지만 구문 분석 논리가 복잡합니다. 이 문제를 다루는 더 쉬운 방법이 있는지 궁금 해서요.

답변

2

간단한 대답은 탈출의 일부 형태라고 생각합니다.

REPLACE (thetext, '\ n', '\\ n')와 같은 SQL에서 찾기/바꾸기가 가능하거나 개행이 중요하지 않은 경우 REPLACE (thetext, '\ n ',' ')

+0

당신이 옳습니다. 하지만 왜 이런 행동을 하죠. 어떤 생각 – Developer

1

최근에 같은 문제가 발생했습니다. 가장 좋은 방법은 데이터 덤프 중에 (또는 데이터가 데이터베이스에 도착하기 전에) 다른 명령으로 개행 문자를 대체하는 것입니다. // 또는 <br>과 같은 것을 선택 했으므로 나중에 새 줄을 복구 할 수 있습니다.

1

하나의 포럼을 만들려고했습니다. 문제는 일부 사용자가 HTML을 입력 할 때 발생했습니다. 당신이 그의 포스트를 전시 할 때 그것은 번역 해 얻을 것입니다. 그리고 나는 그의 직을 게시 할 때 다음 줄로 이동할 수 없었다. 이것은 당신을 도울 수 있습니다. PHP를 사용하고 있습니다.

$pattern = array('/</','/>/','/\n/'); 
$replace = array('&lt;','&gt;','<br>'); 
$post = preg_replace($pattern,$replace,$post);