2007. 6. 29. 15:43

php 함수를 자바스크립트로


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

prototype 으로 정의되어있어서...

("<b>test</b>").stripTags();

혹은

var str = "  !!!! ";
str = str.trim();

과 같이 사용가능합니다.

<script language="javascript" type="text/javascript">
// HTML 특수문자를 변환
String.prototype.htmlChars = function () {
       var str = ((this.replace('"', '&amp;')).replace('"', '&quot;')).replace('\'', '&#39;');
       return (str.replace('<', '&lt;')).replace('>', '&gt;');
}

// 좌우 공백없애는 함수
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<len; i++) arr[i] = this.charAt(i);
       return arr;
}
</script>