Program Club

jQuery javascript regex 다음으로 바꾸기

proclub 2020. 12. 2. 22:09
반응형

jQuery javascript regex 다음으로 바꾸기
\ n


난 대체하는 정규 표현식 쓰기 어떻게 <br />또는 <br>과를 \n. div에서 텍스트 영역으로 텍스트를 이동하려고하지만 텍스트 영역에 <br>의 표시를 원하지 않으므로 \n.


var str = document.getElementById('mydiv').innerHTML;
document.getElementById('mytextarea').innerHTML = str.replace(/<br\s*[\/]?>/gi, "\n");

또는 jQuery 사용 :

var str = $("#mydiv").html();
var regex = /<br\s*[\/]?>/gi;
$("#mydiv").html(str.replace(regex, "\n"));

편집 :i 플래그 추가

edit2 : 예를 들어있는 경우 /<br[^>]*>/gi사이에 일치하는 것을 사용할 수 있습니다.brslash<br class="clear" />


myString.replace(/<br ?\/?>/g, "\n")


내부 HTML을 엉망으로 만들지 않고 DOM을 직접 변경하려는 경우 진정한 jQuery 방식 :

$ ( '# text'). find ( 'br'). prepend (document.createTextNode ( '\ n')). ​​remove ();

요소 내부에 삽입을 앞에 추가하면 before ()가 여기에 필요한 메서드입니다.

$('#text').find('br').before(document.createTextNode('\n')).remove();

코드는 <br> 요소를 찾고 줄 바꾸기 문자가있는 원시 텍스트를 삽입 한 다음 <br> 요소를 제거합니다.

여기에는 문자열 연산이 없기 때문에 긴 텍스트로 작업하는 경우 더 빠릅니다.

새 라인을 표시하려면

$('#text').css('white-space', 'pre-line');

저렴하고 불쾌한 것은 다음과 같습니다.

jQuery("#myDiv").html().replace("<br>", "\n").replace("<br />", "\n")

편집하다

jQuery("#myTextArea").val(
    jQuery("#myDiv").html()
        .replace(/\<br\>/g, "\n")
        .replace(/\<br \/\>/g, "\n")
);

또한 필요한 경우 jsfiddle 생성 : http://jsfiddle.net/2D3xx/


실제로 jQuery와 관련이 없지만 문자열에서 패턴을 자르려면 정규식을 사용하십시오.

<textarea id="ta0"></textarea>
<button onclick="
  var ta = document.getElementById('ta0');
  var text = 'some<br>text<br />to<br/>replace';
  var re = /<br *\/?>/gi;
  ta.value = text.replace(re, '\n');
">Add stuff to text area</button>

참고 URL : https://stackoverflow.com/questions/5959415/jquery-javascript-regex-replace-br-with-n

반응형