2011-05-16 3 views
1

PHP와 MySQL을 함께 사용하는 매우 기본적인 CMS가 있습니다. 여러 문단 (예 : 블로그 게시물, 자세한 서비스 설명)을 포함 할 수있는 텍스트 영역을 만들 수있는 방법을 찾을 수 없다는 것만 제외하면 모든 것이 효과적입니다. 데이터는 단락 사이에 <br> s와 함께 MySQL에 저장되지만 표시를 위해 다시 호출하면 모든 나누기가 제거됩니다. html (html 엔티티, 문자열 바꾸기 등을 트리밍하지 않음)을 꺼내는 PHP에는 아무 것도 없습니다. 커서를 바꿀 수 있습니다. <p></p>이 텍스트 영역처럼 입력하고 있습니다.단일 양식 필드의 여러 단락 - keydown에 대한 Jquery 추가

오늘 저는 JQuery를 사용해 왔습니다.

<script type="text/javascript"> 
$(document).ready(function(){ 
$('#thetest').keydown(function(event) { 
if (event.keyCode == '13') { 
    $('#thetest').append('<p>Test</p>'); 
}); 
}); 
</script> 

<form action="test_upload.php" enctype="multipart/form-data" method="POST"> 
<p>Content: </p> 
<textarea wrap="virtual" id="thetest" name="thetest" value="" 
autocomplete="off" rows="20"cols="100"> 
</textarea> 
<input type="submit" name="submit" value="Upload" /> 
</form> 

누구든지 올바른 방향으로 나를 가리킬 수 있다면 크게 감사하겠습니다. 나는 그것을 처리 할 수있는 폼을위한 jquery 플러그인이있을 것이라고 생각하지만, 나는 그것을 발견하지 못했다. 미리 감사드립니다.

+1

TinyMCE를 사용할 수 있습니까? http://tinymce.moxiecode.com/ – captainclam

+0

Textareas는 개행 문자로'\ n'을 (를) 가진 일반 텍스트 만 저장할 수 있습니다. @captainclam과 같은 TinyMCE를 사용하거나 직접 contenteditable의주의 사항으로 고투하십시오. – DarthJDG

답변

0

사용자가 단락 태그를 입력하고 있습니까, 아니면 WYSIWYG 스타일을 원하십니까? 이전 버전 인 경우 문제가 발생하지 않아야하며, 그렇게 할 경우 가져 오기 전에 htmlentities()를 사용하여 가져올 때 디코딩 할 수 있습니다. 그것이 후자라면 $ _POST [ 'thetest'] 문자열을 데이터베이스에 저장하기 전에 다시 처리하므로 문자열을 처리합니다. 저장하기 전에 개행 문자를 <p></p>으로 preg_replace() 할 수 있으며, 더 많은 개행 문자를 사용하여 물론 읽을 수 있습니다.

아니면 그냥 흰색 공간을 보존하기 위해 <pre>으로 부정 행위를 할 수 있지만, 그 의미 책임을지지 않습니다 것입니다 : P

+0

내 사용자는 태그를 입력하고 있지 않으며 WYSIWYG을 (를) 찾고 있습니다. 원래의 질문을 올린 후, 나는 CKEditor Jquery 플러그인을 사용하기 시작했으나 작동하지만, 나는 나의 프로그래밍 편식을 위해이 작업을 수행하는 방법을 알고 싶다. 개행 문자에서 preg_replace()를 시도했지만 개행 문자가 표시되지 않았습니다. jquery로 keydown에 추가하는 문제를 해결하는 것은 비현실적입니까? – thegumba

+0

내가 대답 한 코드는 요청한대로해야합니다. –

0

nl2br(htmlspecialchars(stripslashes($paragraphs)))를 사용해보십시오, 그것은 출력 방식을 정확하게 사용자의 입력이 텍스트.

관련 문제