2010-12-30 3 views
0

필자는 데이터베이스 longtext 필드에 쓰여진 정보를 표시하는 방법을 알아야합니다.PHP처럼 사용자가 작성한 긴 텍스트

처럼 사용자가 아래이 글을 경우 :

My life is full of love I fly like 
wedding doves I blow passed stop signs 
That intersect with hate lines 

- 그 대신

I know what I am 
I know who I be 
If you can't accept me 
Then don't friend me 

내가 그것을 사용자가 텍스트 영역에 쓴 것처럼 데이터베이스에서 텍스트를 표시 할 하나 같이 표시 :

내 인생은 사랑이 가득합니다. 나는 비둘기처럼 날아갑니다. 나는 멈추는 표지판을 통과 시켰습니다. 증오하는 선들과 교차합니다. 나는 내가 누군지 압니다. 내가 누군지 압니까. 나를 받아 들일 수 없다. 그럼 나를 친구가되지 말아라.

PHP로 정보를 올바르게 표시하려면 어떻게해야합니까?

답변

4

nl2br()을 사용하십시오. 줄 바꿈 (예 : 텍스트 영역)을 HTML <br /> 태그로 변환합니다.

+0

고마워요 – yanike

1

데이터에 nl2br을 사용하는 경우 원본 텍스트 영역에서와 동일한 형식으로 표시되어야합니다.

그러나, 나는 당신이 조심하지 않으면 당신은 아마도 일부 크로스 사이트 스크립팅 (XSS) 문제에 대한 자신을 설정하는로 정말 먼저 등 SQL injectionescaping output을 처리 같은 것들에 대해 읽어 보시기 바랍니다 것입니다.

0

당신은 종종 나쁜 개발자와 디자이너 에 의해 학대되기 때문에 preformated 텍스트 <pre></pre> 태그

<pre>...your text here...</pre> 

많은 사람들

<pre> 요소를 싫어하는로 묶어야 표시 할 그러나 이것은 정확히이 예상되는 경우라면 에 사용됩니다. 당신이 당신의 스타일 시트를 조정해야 할 수도 있으므로

대부분의 브라우저는, preformated 텍스트 다른 다음 일반 텍스트를 렌더링

body, pre {font-family: ...;font-size:....} 
+0

더 자세히 살펴 보겠습니다. 감사합니다 :) – yanike

0

나는 그것을 충분히 강조 수 없습니다 당신은 결코 출력 사용자 생성 콘텐츠는 다음과 같이 그것을하지만 수있다한다 출력하는 모든 텍스트를 이스케이프 처리해야합니다 (참조 : http://php.net/manual/en/function.htmlspecialchars.php).

+0

나는 그것에 대해 이미 알고 있습니다. 나는 곧 보안에 관해서 일할 것이다. 필자는 스크립트와 다른 것들을 차단하고 사용자가 특정 태그를 사용하도록 강요 할 것입니다. – yanike

+0

귀하의 조언 주셔서 감사합니다 :) – yanike

관련 문제