bad_tag_convert() 를 이용해 스크립트 안의 내용까지 삭제하기 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

bad_tag_convert() 를 이용해 스크립트 안의 내용까지 삭제하기 정보

bad_tag_convert() 를 이용해 스크립트 안의 내용까지 삭제하기

본문

안녕하세요 오랫만에 질문 드립니다 ~~

common.lib.php
에 보면 view화면에 뿌려줄때

bad_tag_convert()를 이용해서
스크립트와 아이프레임 태그를 안의 내용과 태그를

문자그대로 표현하게 하는데요



function bad_tag_convert($code) 
{
    return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>/i", "&lt;$1$2$3&gt;", $code);

}



이때 스크립트 태그 부터 스크립트 안의 내용, 스크립트 닫는 내용까지 모두 안보이게 하고 싶습니다..


return preg_replace( '!<(script|javascript|jscript|iframe).*?</\1>|</?[\w]+.*?>!si','',$code);  



를 써봤는데 아예 스크립트와 관련없는 내용까지 (div태그 내용까지)내용이 다 안보이더라구요


<scrpit 부터 /script> 까지 안보이면 됩니다.

계속 이 스크립트(구글광고, 퍼온 게시판전용 스크립트)까지 퍼와서 에디터로 등록하시는 분이 계서서 ㅠ.ㅠ

도움 부탁드립니다~

댓글 전체

return preg_replace( '!<(script|javascript|jscript|iframe).*?</\1>!si','',$code);

책찾아 해결 했습니다만 맞게 돌아가고있는 것인지 모르겠네요...

제대로 한것인지 알려주시는 분께(조금만 설명을.. 특히 !si 부분) 포인트 드릴께요
!<(script|javascript|jscript|iframe)

=> <script
    <javascript
    <javascript
    <iframe
 으로 시작하고

.*?
=>중간에 뭐든 나올수도 있고 안나올 수도 있고.

</\1>
=>
</script>
</jframe>

(script|javascript|jscript|iframe)
이 4개중에서 하나로 끝나는 부분을 없애라는 부분입니다.

---

! 는 약간 이상한 부분인데요,

원래는,

preg_replace("//", '', $code);

이렇게 // 안에 표현을 넣는 부분인데. 그게 !로 바꿔 진듯요.

나머지 si 는

i 는 case insensitive .. 대소문자 구별하지 말라는 것이고.
s 는 모르겠네요. 첨쓰는 구분자이고.
이외에도 gim많이 씁니다.

http://koxo.com/lang/js/object/RegExp.html

http://www.php.net/manual/en/function.preg-match.php

참고하세요
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT