Добрый день,
Я хотел бы знать, есть ли простой способ разбить / разделить строку, не разбивая слова.
Например:
var input = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin placerat, nisi nec vulputate scelerisque, metus lectus ultricies massa, et luctus elit libero eu erat. Fusce vitae sem lacus, eu ullamcorper lectus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
Должен возвращать массив, подобный этому, если я разбью на 80 символов длиной :
var output = ["Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin placerat, nisi",
"nec vulputate scelerisque, metus lectus ultricies massa, et luctus elit libero",
"eu erat. Fusce vitae sem lacus, eu ullamcorper lectus. Lorem ipsum dolor sit",
"amet, consectetur adipiscing elit."];
Я нашел этот действительно хороший кусок кода:
//http://phpjs.org/functions/chunk_split:369
function chunk_split (body, chunklen, end) {
// Returns split line
//
// version: 1103.1210
// discuss at: http://phpjs.org/functions/chunk_split
// + original by: Paulo Freitas
// + input by: Brett Zamir (http://brett-zamir.me)
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Theriault
// * example 1: chunk_split('Hello world!', 1, '*');
// * returns 1: 'H*e*l*l*o* *w*o*r*l*d*!*'
// * example 2: chunk_split('Hello world!', 10, '*');
// * returns 2: 'Hello worl*d!*'
chunklen = parseInt(chunklen, 10) || 76;
end = end || '\r\n';
if (chunklen < 1) {
return false;
}
return body.match(new RegExp(".{0," + chunklen + "}", "g")).join(end);
}
Но я действительно сомневаюсь, что смогу изменить это так, чтобы слова не были разбиты пополам. Любые советы?
Спасибо!