세이박스

[자바스크립트] 문자 자르기 및 특정 문자로 분리하기

웹프로그램

자바스크립트에서 문자를 자르거나 분리하기 위한 방법 입니다.

1. 문자를 특정 위치로 부터 지정한 길이 만큼 자리기
함수 : substr()

var a = "123456789";
var b = a.substr(0,3);
alert(b); //결과 : 123

var c = a.substr(5,2);
alert(c); //결과 : 67

php의 경우 substr(변수,자를위치,자를갯수)이미지만 자바스크립트에서는 변수.substr(자를위치,자를갯수) 방식으로 사용합니다.
자를위치는 문자열 처음이 1이 아닌 0으로 되어 있습니다. 즉, 0,1,2.. 이렇게 시작하니 착오 없으시길 바랍니다.


2. 문자열에서 특정 문자 기준으로 자르기
함수 : split()
적용예 :

var a = "010-1111-2222";
var b = a.split("-");

alert(b[0]); //결과: 010
alert(b[1]); //결과: 1111
alert(b[2]); //결과: 2222

전화번호를 예로 "-" 기준으로 잘라서 저장해 보았습니다.
"-" 는 제거되며 "-"기준으로 각 값들이 배열로 저장 됩니다.

  최신영화 보러가기... 

text-overflow 이용한 텍스트 길이 제한하기

웹프로그램
게시판 리스트의 경우 제목이 길어지는 경우 특정 길이 이상은 자르고 "..." 붙이는거 많이 보셨을겁니다.
보통 php의 경우 substr() 함수를 이용하거나 left() 함수등 언어에 따라 다양하게 활용하는데
style로 간단하게 적용할 수 있습니다.
text-overflow 옵션을 활용하는 것입니다.

ellipsis
<nobr style="text-overflow:ellipsis;overflow:hidden;width:300px">내용</nobr>

ellipsis-word
<nobr style="text-overflow-mode:ellipsis-word ;overflow:hidden;white-space:nowrap;width:200px;">내용</nobr>

clip
<nobr style="text-overflow:clip;overflow:hidden;width:300px;">내용</nobr>

inherit
<nobr style="text-overflow:inherit;overflow:hidden;width:300px;">내용</nobr>

링크에적용1
<nobr style="text-overflow:ellipsis;overflow:hidden;width=300px;cursor:Hand">내용</nobr>

링크에적용2
<nobr class="nobr" style="width:120px;"><a href="javascript:goView(<%=BBS_SEQ%>);">내용</a></nobr>

테이블에 적용
<table width='200' border='0' cellpadding='0' cellspacing="0" style='table-layout:fixed;' cellspace='0'><tr>
<td><nobr style="text-overflow:ellipsis;width:200px;overflow:hidden;">내용</nobr></td>
</tr></table>

------------------------------------------------------------------------------------
#example1 {text-overflow-mode: clip; width: 200px; overflow:hidden;white-space : nowrap; }
#example2 {text-overflow-mode: ellipsis; width: 200px; overflow:hidden;white-space : nowrap; }
#example3 {text-overflow-mode: ellipsis-word; width: 200px; overflow:hidden;white-space : nowrap; }
------------------------------------------------------------------------------------


white-space :
요소 안에서의 띄어쓰기와 같은 빈 공간을 조절할 때 사용합니다.

white-space에 사용되는 값
normal : 줄 바꿈 디볼트 값을 유지합니다.
pre : 문서 소스에 서식을 할당해서 문서가 표시되게 합니다.
nowrap : 요소 내에서 줄바꿈이 되지 않습니다.

예제)
H1 {white-space: nowrap}
H1에서의 줄바꿈을 하지 않도록 설정합니다.
 

PHP 글자 수 자르기

웹프로그램

function cut_str($msg,$cut_size) {
if($cut_size<=0) return $msg;
if(ereg("\[re\]",$msg)) $cut_size=$cut_size+4;
for($i=0;$i<$cut_size;$i++) if(ord($msg[$i])>127) $han++; else $eng++;
$cut_size=$cut_size+(int)$han*0.6;
$point=1;
for ($i=0;$i<strlen($msg);$i++) {
if ($point>$cut_size) return $pointtmp."..";
if (ord($msg[$i])<=127) {
$pointtmp.= $msg[$i];
if ($point%$cut_size==0) return $pointtmp."..";
} else {
if ($point%$cut_size==0) return $pointtmp."..";
$pointtmp.=$msg[$i].$msg[++$i];
$point++;
}
$point++;
}
return $pointtmp;
}