[JQUERY] BR에 jQuery를 변환 줄 바꿈 (nl2br에 해당)
JQUERYBR에 jQuery를 변환 줄 바꿈 (nl2br에 해당)
해결법
-
1.
function nl2br (str, is_xhtml) { var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>'; return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2'); }
-
2.당신은 간단하게 할 수 있습니다 :
당신은 간단하게 할 수 있습니다 :
textAreaContent=textAreaContent.replace(/\n/g,"<br>");
-
3.렌더링을 변경하는 대신 내용을 변경의 정신에서 다음 CSS는로
같은 각 줄 바꿈 동작합니다한다 :렌더링을 변경하는 대신 내용을 변경의 정신에서 다음 CSS는로
같은 각 줄 바꿈 동작합니다한다 :white-space: pre; white-space: pre-line;
이유는 두 가지 규칙 : 사전 온라인 만 (단서에 대한 @KevinPauli을 감사) 줄 바꿈에 영향을 미칩니다. IE6-7 및 기타 오래된 브라우저는 다시 또한 파라미터 nowrap을 포함하고 여러 공간을 표현하는 더 극단적 사전에 떨어진다. 이들에 대한 세부 사항 및 모질라에서 기타 설정 (사전 랩)과 CSS 트릭 (감사 @Sablefoste).
나는 S.O. 일반적으로 싫어 해요 동안 씻지 사용자 입력 인젝션 공격에 취약성을 증가시킬 수로
마크 업 바꿈 대체이 경우, 질문 제 추측보다는 답할 취향. 당신은 문자 그대로의 질문은 수행되어야 할 것이다 의미 당신이는 .text을 변경하는 자신을 발견 할 때마다 밝은 레드 라인 (), .html 파일 호출 ()를 교차하고 있습니다. (이 점을 강조 주셔서 감사합니다 @AlexS.) 당신은 시간에 보안 위험을 배제하더라도, 미래의 변화는 무의식적를 소개 할 수있다. 대신,이 CSS 당신이 안전한는 .text를 사용하여 마크 업없이 하드 줄 바꿈을 얻을 수 있습니다 (). -
4.(일반 JS 함수 라이브러리 바람직) 코드에서이 넣어 :
(일반 JS 함수 라이브러리 바람직) 코드에서이 넣어 :
String.prototype.nl2br = function() { return this.replace(/\n/g, "<br />"); }
용법:
var myString = "test\ntest2"; myString.nl2br();
문자열 프로토 타입 함수를 만드는 것은 당신이 어떤 문자열이를 사용할 수 있습니다.
-
5.해결책
해결책
이 코드를 사용
jQuery.nl2br = function(varTest){ return varTest.replace(/(\r\n|\n\r|\r|\n)/g, "<br>"); };
-
6.이 자바 스크립트 함수 삽입 사용하거나 스왑을 처리하기 위해 대체할지 여부를 고려한다.
이 자바 스크립트 함수 삽입 사용하거나 스왑을 처리하기 위해 대체할지 여부를 고려한다.
(삽입 또는 HTML의 줄 바꿈을 대체)
/** * This function is same as PHP's nl2br() with default parameters. * * @param {string} str Input text * @param {boolean} replaceMode Use replace instead of insert * @param {boolean} isXhtml Use XHTML * @return {string} Filtered text */ function nl2br (str, replaceMode, isXhtml) { var breakTag = (isXhtml) ? '<br />' : '<br>'; var replaceStr = (replaceMode) ? '$1'+ breakTag : '$1'+ breakTag +'$2'; return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, replaceStr); }
하지만 오버 JS 휘티 d 차다
-
7.나는 이것에 대한 약간의 jQuery 확장을 쓴 :
나는 이것에 대한 약간의 jQuery 확장을 쓴 :
$.fn.nl2brText = function (sText) { var bReturnValue = 'undefined' == typeof sText; if(bReturnValue) { sText = $('<pre>').html(this.html().replace(/<br[^>]*>/i, '\n')).text(); } var aElms = []; sText.split(/\r\n|\r|\n/).forEach(function(sSubstring) { if(aElms.length) { aElms.push(document.createElement('br')); } aElms.push(document.createTextNode(sSubstring)); }); var $aElms = $(aElms); if(bReturnValue) { return $aElms; } return this.empty().append($aElms); };
-
8.@Luca Filosofi의 허용 대답을 개선하기 위해,
@Luca Filosofi의 허용 대답을 개선하기 위해,
필요한 경우,이 정규 표현식의 시작 절을 변경하면 될 / ([^> [\ S]? \ R을 \ n]?) 것 같은 개행 대신 단지 태그, 태그 일부 공백 뒤에 오는 경우 ingore 바로 뒤에 개행
-
9.줄 바꿈을 지키는 DOM의 텍스트 영역에서 삽입 텍스트에 또 다른 방법은 노드와 그 하위의 렌더링 된 텍스트 내용을 나타내는 Node.innerText 속성을 사용하는 것입니다.
줄 바꿈을 지키는 DOM의 텍스트 영역에서 삽입 텍스트에 또 다른 방법은 노드와 그 하위의 렌더링 된 텍스트 내용을 나타내는 Node.innerText 속성을 사용하는 것입니다.
게터로서, 그들이 커서로 요소의 내용을 강조하고 클립 보드에 복사 한 경우 사용자가 얻을 것 텍스트를 가깝다.
이 건물은 2016 년 표준이되었고, 현대적인 브라우저에서 지원됩니다. 수 있습니까 사용 : 나는이 대답을 게시 97 % 글로벌 범위.
from https://stackoverflow.com/questions/2919337/jquery-convert-line-breaks-to-br-nl2br-equivalent by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] jQuery를 사용하여 빈 텍스트 입력을 선택 (0) | 2020.10.29 |
---|---|
[JQUERY] 효과가 완료 될 때까지 얼마나 대기에 jQuery를 얻으려면? (0) | 2020.10.29 |
[JQUERY] 자바 스크립트를 통해 이미지를로드하는 동안 스피너를 표시하는 방법 (0) | 2020.10.29 |
[JQUERY] 자바 스크립트와 일반 텍스트 선택 (0) | 2020.10.29 |
[JQUERY] Base64로 이미지 변환 (0) | 2020.10.29 |