[자작] 문자열 스크립트 종합선물세트

자바스크립트용으로 PHP의 함수들을 흉내내본 것입니다.
더 필요한 게 있으면 그때그때 추가할 예정입니다.
기능 건의 받습니다. -_- v

// HTML 특수문자를 변환
String.prototype.htmlChars = function () {
var str = ((this.replace('"', '&')).replace('"', '"'));
return (str.replace('<', '<')).replace('>', '>');
}

// 좌우 공백없애는 함수
String.prototype.trim = function () { return this.replace(/(^s*)|(s*$)/g, ""); }

// 왼쪽 공백없애는 함수
String.prototype.ltrim = function () { return this.replace(/^s*/g, ""); }

// 오른쪽 공백없애는 함수
String.prototype.rtrim = function () { return this.replace(/s*$/g, ""); }

// 태그만 제거
String.prototype.stripTags = function () {
var str = this;
var pos1 = str.indexOf('<');

if (pos1 == -1) return str;
else {
var pos2 = str.indexOf('>', pos1);
if (pos2 == -1) return str;
return (str.substr(0, pos1) + str.substr(pos2+1)).stripTags();
}
}

// 대소문자 구별하지 않고 단어 위치 찾기
String.prototype.ipos = function (needle, offset) {
var offset = (typeof offset == "number")?offset:0;
return str.toLowerCase().indexOf(needle.toLowerCase(), offset);
}

// 대소문자 구별하지 않고 뒤에서부터 단어위치 찾기
String.prototype.ripos = function (needle, offset) {
var offset = (typeof offset == "number")?offset:0;
return str.toLowerCase().lastIndexOf(needle.toLowerCase(), offset);
}

// 문자열을 배열로
String.prototype.toArray = function () {
var len = this.length;
var arr = new Array;
for (var i=0; i return arr;
}

// 문자열의 bytes 크기
String.prototype.bytes = function() {
var bytes = 0;

for(var i=0; i < this.length; i++) {
bytes += (this.charCodeAt(i) > 128)?1:2;
}
}

  1. 헉… 그러네요. ;;

  2. 모든 trim 함수 중에
    /(^s*)/g 이런 패턴을 적용하셨는데 사용해 보니 안되더군요 그래서 s* 를 없에고 공백으로 넣어 주니깐 되네요..

    그리고 bytes 함수 경우는 return bytes; 가 빠진거 아닌가요?

  3. 히스타 // 감사합니다. :)
    회사에서 하는 프로젝트가 정리되고 나면 구문강조 클래스를 새롭게 손볼 생각입니다. 현재 것은 PHP, JS, HTML 등이 따로놀게 되어있거든요. ^^a

    • 히스타
    • October 26th, 2004 11:15pm

    답변감사합니다.. 센스가 있으시네요 ^^ 홈피도 아주 멋지답니다.

  4. 히스타 // 아… 그건 제가 만든 구문강조 클래스…를 이용해서 색을 입힌겁니다. 에디트 플러스라는 편집기의 구문강조 파일을 그대로 사용하도록 만들었죠. ^^;;

    • 히스타
    • October 23rd, 2004 12:21am

    궁금한게 있는데 저 위의 스크립트 색깔은 어떻게 입히신건지 궁금하네요.. 무슨 기능을 가진 프로그램인가요 직접 색을 칠하신건가 또 다른 스크립트를 이용하셨는지 알고싶어요 ㅇㅇ;

    • ben
    • June 23rd, 2004 6:25pm

    좋은정보 감사합니다. 혹시 가능하면 스크립트부분만 문자열에서 삭제하는 방법이 있으면 좋겠습니다. ^^

    • 하늘아부지
    • June 23rd, 2004 12:49pm

    <> & ” ‘ & " ' : 특수문자 테스트
    : 탭 테스트

  5. 답글 테스트중…
    답글에서도 탭이 먹도록 하는 걸 테스트 중입니다. 호이호이~
    // 문자열을 배열로
    String.prototype.toArray = function () {
    var len = this.length;
    var arr = new Array;
    for (var i=0; i<len; i++) arr[i] = this.charAt(i);
    return arr;
    }

    • 고스락
    • June 22nd, 2004 2:58am

    힌트까지 들었는데.. 멍하니 바라만 봐야 하는 이 기분.. ㅡㅜ
    “지맘대로 강의실”이 빨리 활성화 되야 할 텐데.. ㅠ_ㅠ

  6. 처음에.. “php의 함수들을 그대로 흉내낸” 이라고 한게 힌트입니다.
    (방금 소년탐정 김전일을 봤더니 말투가… -_-;;)

    각각 stripos, strripos 가 원본 함수입니다.

  7. 감사합니다.
    근데요, stripTags의 사용법은 알겟는데, String.prototype.ipos 의 사용법은 모르겟습니다. -_-;;;
    그냥 멍하니 바라만 보고 있읍니다.

  1. June 22nd, 2004
    Trackback from : 좋은인연