JavaScriptを使って長すぎる文字列を指定バイト数で切り取って「...続きを読む」みたいにするには以下のようにします。
function substr(text, len, truncation) {
if (truncation === undefined) { truncation = ''; }
var text_array = text.split('');
var count = 0;
var str = '';
for (i = 0; i < text_array.length; i++) {
var n = escape(text_array[i]);
if (n.length < 4) count++;
else count += 2;
if (count > len) {
return str + truncation;
}
str += text.charAt(i);
}
return text;
}
使い方
var text = '長い長い日本語の文字列。English English English ';
var text2 = substr(text, 10, '...続きを読む');
alert('text2:' + text2);