Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将一行中的一组单词分成5行_Javascript_Html_String - Fatal编程技术网

Javascript 如何将一行中的一组单词分成5行

Javascript 如何将一行中的一组单词分成5行,javascript,html,string,Javascript,Html,String,字符串示例如下所示 这是一个很长的句子,我需要分成5行,但无论我如何努力,我似乎无法让它在我的网站上工作,我需要帮助谢谢 结果应该是: 1行-每行最多50个字符 这是一个很长的句子,我需要打断它 2行-每行最多50个字符 分成5行,但不管我怎么努力 3行-每行最多50个字符 似乎无法让它在网站I上运行 4行-每行最多50个字符 需要帮助谢谢 5行-最多50个字符,但在点击完成字符串时为空 ============= 这是我现在的剧本 var string = "spand span spand

字符串示例如下所示 这是一个很长的句子,我需要分成5行,但无论我如何努力,我似乎无法让它在我的网站上工作,我需要帮助谢谢

结果应该是: 1行-每行最多50个字符

这是一个很长的句子,我需要打断它

2行-每行最多50个字符

分成5行,但不管我怎么努力

3行-每行最多50个字符

似乎无法让它在网站I上运行

4行-每行最多50个字符

需要帮助谢谢

5行-最多50个字符,但在点击完成字符串时为空

=============

这是我现在的剧本

var string = "spand span spand span";
var arr = string.split(" ");
var unique = [];
var arrcount = [];
$.each(arr, function (index,word) {
    if ($.inArray(word, unique) === -1) 
        unique.push(word);
        arrcount.push(word.split(" ").length);
});
alert(unique+arrcount);
====== 我似乎不知道如何计算字串总数,并在字串仅命中50个字符后将其断开,而不想将字串逐个断开

我找到了我想要的:

function splitLine(st,n) 
{var b = ''; var s = st;while (s.length > n) {var c = s.substring(0,n);var d = c.lastIndexOf(' ');var e =c.lastIndexOf('\n');if (e != -1) d = e; if (d == -1) d = n; b +=       c.substring(0,d) + '\n';s = s.substring(d+1);}return b+s;}

var myText="This is a long sentence that I need to break into 5 lines but no matter how hard I try I cannot seem to get it to work on my website I need help thank you";                 

var myText40 = splitLine(myText,50);
var myHTML = myText40.replace(/\n/g,'<br \/><br \/>');      

这将字符串拆分为多行,每行最多50个字符。如果实际需要5行,则应使用较小的限制-可以使用maxlen=string.length/5来获得均匀排列

var rows = [];
var maxlen = 50;
var arr = string.split(" ");
var currow = arr[0];
var rowlen = currow.length;
for (var i = 1; i < arr.length; i++) {
    var word = arr[i];
    rowlen += word.length + 1;
    if (rowlen <= maxlen) {
        currow += " " + word;
    } else {
        rows.push(currow);
        currow = word;
        rowlen = word.length;
    }
}
rows.push(currow);
试试这个:

<div id="dv">This is a long sentence that I need to break into 5 lines but no matter how hard I try I cannot seem to get it to work on my website I need help thank you</div>


var text = $("#dv").html();
var newtext = text.match(/.{1,44}/g).join("<br/>");
$("#dv").html(newtext);

注:我在44个单词后添加了,以实现您在提问中提到的文本。让他们50将增加在不同的位置。我猜你没有计算空间。

找到了我要找的东西。谢谢大家的帮助

function splitLine(st,n) 
{var b = ''; var s = st;while (s.length > n) {var c = s.substring(0,n);var d = c.lastIndexOf(' ');var e =c.lastIndexOf('\n');if (e != -1) d = e; if (d == -1) d = n; b +=       c.substring(0,d) + '\n';s = s.substring(d+1);}return b+s;}

var myText="This is a long sentence that I need to break into 5 lines but no matter how hard I try I cannot seem to get it to work on my website I need help thank you";                 

var myText40 = splitLine(myText,50);
var myHTML = myText40.replace(/\n/g,'<br \/><br \/>');  

您的代码与您要求的不匹配。请添加您为此特定情况尝试的代码。您的脚本用于查找唯一的单词,它与限制一行中的字符数无关。是否复制了错误的代码?可以使用word.length获取单词中的字符数。使用一个变量来保持单词长度的总长度不要忘记包含单词之间的空格,当它超过50时,保存行并开始一个新的行。为什么第一个部分不是这是一个我需要打断的长句?把它放在49characters@AndrewWhitaker也许他计算了引号?这将在单词的中间分割线。OP在每行最多50个字符的问题中提到了。如果你想回答你自己的问题,你是不受欢迎的。但是,您的问题需要重新编写,以便真正有意义,并且有一个很好的示例,说明您试图尝试解决您提出的问题的代码。你不能只是粘贴一些随机代码,然后希望得到答案。
function splitLine(st,n) 
{var b = ''; var s = st;while (s.length > n) {var c = s.substring(0,n);var d = c.lastIndexOf(' ');var e =c.lastIndexOf('\n');if (e != -1) d = e; if (d == -1) d = n; b +=       c.substring(0,d) + '\n';s = s.substring(d+1);}return b+s;}

var myText="This is a long sentence that I need to break into 5 lines but no matter how hard I try I cannot seem to get it to work on my website I need help thank you";                 

var myText40 = splitLine(myText,50);
var myHTML = myText40.replace(/\n/g,'<br \/><br \/>');