IT정보사전

[JavaScript] 자바스크립트 정규식에 관해.. 본문

웹 프로그래밍

[JavaScript] 자바스크립트 정규식에 관해..

작은나무0530 2010. 9. 6. 18:15
728x90
반응형

프로젝트를 뛰다가 정말 난감한 문제를 만났다.
프로젝트 작성시 컴퍼넌트를 이용하여 사용자들의 글 작성된걸 받으면 각종 HTML소스들이 무대기로 들어온다
다 아는내용^^

여기서 문제 -- 음.. 각종 HTML소스가 즐비한 내용을 화면상에 뿌려줄때 물론 일반적인 view화면에 보여주는것은
전혀 문제가 되지 않는다.
왜... 라고 물으면.. HTML의 시작과 끝이 분명이 정해져 있기때문이다.

그러나 이걸 리스트에 표출하면 [물론 리스트에는 전부다 보여주지는 않을것이다...] 그렇지 아니한가???
그럼 HTML소스까지 같이 들고온다면 당연히 테이블이 아작~~~ 날것이다...

그러고 나서 하는말 우이씨~~~ 이거 왜이러지;;; 돌겠넹;;;; 당연히 나오는말 프로젝트 하면서 많이 해봤었다는^%^

그럼 여기서 자바스크립트 정규식으로 삭제 하고 싶은 HTML소스만 쏙쏙 빼보도록 하자!!!
정규식의 시작은 당연히 자바스크립트 이므로 <script language='javascript'></script>로 끝나겠다....

////////////////////////////////////
////자바스크립트 정규식 표현방법////
///////////////////////////////////
\ : 다음에 오는 물자를 리터럴로 표시
& : 입력의 끝 부분을 찾음
* : 앞에 오는 문자를 0번 이상 찾음
+ : 앞에 오는 문자를 1번 이상 찾음
? : 앞에 오는 문자를 0번 이상 찾음  예) "b?n?"라 하면 "bong"에 있는 "bn"를 찾음
' : 줄바꿈 문자를 제외한 단일 문자 찾음

아직까지 알아본건 여기까지 ㅋㅋ
예로 밑에 적어보면
<script language='javascript'>
var regexp = /<span.*?>|<\/span>/gi;
</script>

위의 뜻이 무엇일까?
<span>으로 시작해서 </span>으로 끝나는 태그 부분을 regexp라는 함수에 저장
그럼 regexp라는 함수에 <span>으로 시작해서</span>으로 끝나는 태그 부분이 들어왔다 그럼 다음에 할 일은
이 태그를 없애주면 된다.

없애주는 것은 당연히 replace다
temp_value = temp_value.replace(regexp,"")이렇게 해주면 태그는 사라지고 글자만이 덩그러니 우리의 눈에 보일것이다.

728x90
반응형
그리드형
Comments