別のプロジェクトから持ち上げたPHPスクリプトをJavaScriptで使用するように調整しました。このスクリプトは、テキストを設定された制限まで短縮するのに最適です。設定した制限を超えている場合は、複数の部分に分割するためにも使用したいと思います。
一度短縮される現在のコードはここにあります:http://jsfiddle.net/WilliamIsted/P5jxK/
これが私がこれまでに持っているものです:http://jsfiddle.net/WilliamIsted/UkhXL/(私はそれを正しくやっていないとかなり確信しています)
何度かループに陥ってしまいましたが、どうすればいいのかわかりません。
function strTruncate($string, $your_desired_width) {
arr = [];
if (typeof($last_part)) {
$last_part = 0;
}
$parts = $string.split(/([\s\n\r]+)/);
$parts_count = $parts.length;
$length = 0;
$last_part = 0;
for (; $last_part < $parts_count; ++$last_part) {
$length += $parts[$last_part].length;
if ($length > $your_desired_width) {
break;
}
}
$start_part = 0;
return $parts.slice($start_part, $last_part).join('');
}
結果を1回短縮:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer malesuada, est ut interdum ullamcorper, metus lorem interdum ipsum, vitae
新しい期待される結果:
array[0] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer malesuada, est ut interdum ullamcorper, metus lorem interdum ipsum, vitae",
array[1] = "vulputate ante quam ut augue. Praesent sit amet varius lorem. Aliquam odio nunc, mattis in mollis vitae, laoreet non velit. Curabitur"
array[2] = "adipiscing, nisl tincidunt consequat ornare, ligula mauris sed."