2014-01-29 3 views
0

DOMDocument 클래스를 사용하여 HTML 파일에 p 요소를 추가하는 PHP 스크립트가 있습니다. 텍스트 영역에는 새 줄 기호가 포함될 수 있지만 브라우저는 HTML 태그에서이를 무시하므로 p 요소 안에 텍스트를 하나의 큰 텍스트로 출력합니다. 새 줄 기호를 br로 변환하여 HTML 문서에 문자열을 삽입 할 때 브라우저가 새 줄로 구문 분석을 수행하려고합니다. 나는 작동하지 않는 str_replace 함수를 시도했다.PHP에서 문자열의 특수 문자를 변환하지 못하게하는 방법

문자열의 줄 바꿈 문자를 검색 한 다음 DOMDocument createElement 메서드를 사용하여 모든 brund 요소를 만들 수 있지만 더 쉬운 방법이 있습니까?

내가

$bodytext = nl2br($_POST['bodytext']); 

및 사용 해봤 나는이 < BR에 equivelant의 createElement 방법

$pelement = $webpage->createElement('p', $bodytext); 

는 특수 문자로 $의 bodytext의 새로운 라인 문자 변환을 사용할 때/> 태그는 브라우저에서 렌더링 할 때 문자 그대로 새 줄이 아닌 < br/>으로 끝납니다.

답변

0

그것은 기능이 이미 그것을 체크 아웃 :

http://uk1.php.net/nl2br

는 또한 절반 만이 저를 얻는다 반드시 htmlspecialchars()

+0

을 체크 아웃 할 수 있습니다. 이 함수는 양식에서 변수를 가져올 때 사용됩니다. $ bodytext = nl2br ($ _ POST [ 'bodytext']); 은 요소 자체가 아니라 내 HTML 문서에 특수 문자를 삽입합니다. 페이지가 브라우저에서 렌더링 될 때의 결과는 브라우저가 태그가 아니라 해석하는 리터럴입니다. – user3246127

+0

죄송합니다. 내가 따를 지 모르겠습니다. 브라우저에는 무엇이 나타 납니까? 문자 그대로
을 페이지의 텍스트 일부로 읽을 수 있습니까? –

+0

맞습니다. Dan 실제로 브라우저의 텍스트 부분에
태그를 읽을 수 있습니다. 그 이유는 실제
을 내 HTML 파일에 삽입되는 특수 문자 (< br/>)로 변환하기 때문입니다. – user3246127

관련 문제