1

有没有办法用换行符分割字符串,如果在达到字符限制时找到空格绕过该单词然后创建新行(br)?是否有任何 JQuery 插件或一些 Javascript 代码来实现这一点?

例子:

限制为 10 个字符:

phrase:
tres tristes tigres tragaban trigo en un trigal.

instead of this:
tres trist
es tigres 
tragaban t
rigo en un
 trigal.

achieve this:
tres tristes 
tigres tragaban
trigo en un
trigal.
4

4 回答 4

1

这是一个快速而肮脏的:

var phrase = 'tres tristes tigres tragaban trigo en un trigal.';
var limit = 10;

var parts = phrase.split(' ');

var sentence = '';

for(i = 0; i <= parts.length -1; i++) {
    var word = i == parts.length-1 ? parts[i] : parts[i] + ' ';
    sentence += word;

    if(sentence.length > limit && i != parts.length-1) {
        document.write(sentence.trim() + '<br>');
        sentence = '';
    } else if (i == parts.length-1) {
        document.write(sentence);
    }


}
于 2013-09-20T20:32:44.690 回答
1
 var str = "bla blah blach nhhnhnhfdfdfdfdf"
 splity(str)

 function splity(strr) {

 ten = 9;
   for(i=0; i < str.length; i++){
     document.write(str[i])

       if ((ten <= i) && (str[i] == " ")) {
         ten = ten*2
           document.write("<break>");       
  }}}

简单但有效:)

于 2013-09-20T20:50:01.660 回答
1

如何遍历字符串并检查您是否超过 10 个字符并在空白处? http://jsfiddle.net/ajetd/

function breakString(myString, breakLen) {
    var count = 0,
        retString = "";

    for (i = 0; i < myString.length; i++) {
        retString += myString[i];
        if (count >= breakLen && myString[i].replace(/\s/g, '').length == 0) {
            retString += '<br/>';
            count = 0;
        }
        count++;
    }

    return retString;
}
于 2013-09-20T20:45:58.367 回答
0

查看:[ http://phpjs.org/functions/wordwrap/ ],您会在那里找到答案。

于 2013-09-20T20:26:43.813 回答