[자작] 문자열 스크립트 종합선물세트
자바스크립트용으로 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
}
// 문자열의 bytes 크기
String.prototype.bytes = function() {
var bytes = 0;
for(var i=0; i < this.length; i++) {
bytes += (this.charCodeAt(i) > 128)?1:2;
}
}
헉… 그러네요. ;;
모든 trim 함수 중에
/(^s*)/g 이런 패턴을 적용하셨는데 사용해 보니 안되더군요 그래서 s* 를 없에고 공백으로 넣어 주니깐 되네요..
그리고 bytes 함수 경우는 return bytes; 가 빠진거 아닌가요?
히스타 // 감사합니다.
회사에서 하는 프로젝트가 정리되고 나면 구문강조 클래스를 새롭게 손볼 생각입니다. 현재 것은 PHP, JS, HTML 등이 따로놀게 되어있거든요. ^^a
답변감사합니다.. 센스가 있으시네요 ^^ 홈피도 아주 멋지답니다.
히스타 // 아… 그건 제가 만든 구문강조 클래스…를 이용해서 색을 입힌겁니다. 에디트 플러스라는 편집기의 구문강조 파일을 그대로 사용하도록 만들었죠. ^^;;
궁금한게 있는데 저 위의 스크립트 색깔은 어떻게 입히신건지 궁금하네요.. 무슨 기능을 가진 프로그램인가요 직접 색을 칠하신건가 또 다른 스크립트를 이용하셨는지 알고싶어요 ㅇㅇ;
좋은정보 감사합니다. 혹시 가능하면 스크립트부분만 문자열에서 삭제하는 방법이 있으면 좋겠습니다. ^^
<> & ” ‘ & " ' : 특수문자 테스트
: 탭 테스트
답글 테스트중…
답글에서도 탭이 먹도록 하는 걸 테스트 중입니다. 호이호이~
// 문자열을 배열로
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;
}
힌트까지 들었는데.. 멍하니 바라만 봐야 하는 이 기분.. ㅡㅜ
“지맘대로 강의실”이 빨리 활성화 되야 할 텐데.. ㅠ_ㅠ
처음에.. “php의 함수들을 그대로 흉내낸” 이라고 한게 힌트입니다.
(방금 소년탐정 김전일을 봤더니 말투가… -_-;;)
각각 stripos, strripos 가 원본 함수입니다.
감사합니다.
근데요, stripTags의 사용법은 알겟는데, String.prototype.ipos 의 사용법은 모르겟습니다. -_-;;;
그냥 멍하니 바라만 보고 있읍니다.