사용자 도구

사이트 도구


javascript:maro_pattern:remove_comment

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
javascript:maro_pattern:remove_comment [2024/01/29 11:02] taekgujavascript:maro_pattern:remove_comment [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +====== RemoveComment ======
  
 +<code javascript>
 +  function removeComment(source) {
 +      var src = source.split('\n');
 +      var out = [];
 +      var p1 = /\/\*/; // block comment start
 +      var p2 = /\/\*(.)*\*\//g; // block comment
 +      var p3 = /\/\/(.)*$/; // inline comment
 +      var isBlock = false;
 +      var str;
 +      for (var i = 0; i < src.length; i++) {
 +        str = src[i];
 +        if (isBlock) {
 +          if (str.indexOf('*/') >= 0) {
 +            str = str.substring(str.indexOf('*/') + 2);
 +            isBlock = false;
 +          } else {
 +            str = '';
 +          }
 +        }
 +        if (!isBlock) {
 +          str = str.replace(p2, '');
 +          str = str.replace(p3, '');
 +          if (p1.test(str)) {
 +            isBlock = true;
 +            str = str.substring(0, str.indexOf('/*'));
 +          }
 +          console.log(i, str);
 +        }
 +        out.push(str);
 +      }
 +      return out.join('\n');
 +    }
 +  </code>