'잘라내 기 단어'는 단어 열을 받아서 첫 번째 단어 만 반환합니다 (예 : 10 단어). 도장 (자바 스크립트 라이브러리)가, 그 코드와 같은 기능을 가지고에서javascript에서 단어 잘라 내기 기능 (dojo 코드 연구)
은 이것이다 : dojox.dtl.filter.strings._truncatewords.
이 /(&.*?;|<.*?>|(\w[\w-]*))/g
왜이과 같이 기록되지이다
truncatewords: function(value, arg){
// summary: Truncates a string after a certain number of words
// arg: Integer
// Number of words to truncate after
arg = parseInt(arg);
if(!arg){
return value;
}
for(var i = 0, j = value.length, count = 0, current, last; i < value.length; i++){
current = value.charAt(i);
if(dojox.dtl.filter.strings._truncatewords.test(last)){
if(!dojox.dtl.filter.strings._truncatewords.test(current)){
++count;
if(count == arg){
return value.substring(0, j + 1);
}
}
}else if(!dojox.dtl.filter.strings._truncatewords.test(current)){
j = i;
}
last = current;
}
return value;
}
:
function truncate(value,arg) {
var value_arr = value.split(' ');
if(arg < value_arr.length) {
value = value_arr.slice(0,arg).join(' '); }
return value;
}
과 그 차이점은 무엇입니까?
그래, 나는 장고 포트에 대해서도 자바 스크립트 용으로 작업하고 있는데, dojo의 dtl은 아이디어와 코드를 얻을 수있는 좋은 장소라고 생각했다. 왜 html/xml 태그가 단어로 간주 될지 궁금합니다. 일반적으로 문자열을자를 때 더 많은 링크가있는 요약을 보여주고 싶습니다. –
나는 그곳에서 코드를 어떻게 사용하고 있는지 말할 수 없습니다 ... 당신의 목적을 위해서, 그것은 의미가 있습니다. 하지만 정규식이 그들을 포함하고 있기 때문에, 나는 그것의 유효하다고 생각합니다. 아마도 템플릿 미리보기 일종의 템플릿의 첫 번째 X 단어를 표시하는 것일까 요? 거기에 더 많은 시간을 보내지 않으면 확실하지 않습니다. dojo 메일 링리스트에 게시하면, 그들이 당신을 도울 수 있다고 확신합니다. – jvenema