我正在寻找一种方法来使用jQuery来执行我在php中用wordwrap()做的事情(http://php.net/manual/en/function.wordwrap.php)
我会使用php,但我需要在加载dom后动态发生包装 -
我不熟悉jQuery从头开始编写这类函数,我已经运行了一些google和stack搜索,试图找到一个premade插件或者已经完成它的东西。
有什么想法吗?或者也许是一个起点?
谢谢!
编辑:
为了澄清我需要能够在换行符处添加html(例如</p><p>
) -
如php:
wordwrap($text, 8, "</p><p>", true);
答案 0 :(得分:8)
http://james.padolsey.com/javascript/wordwrap-for-javascript/
function wordwrap( str, width, brk, cut ) {
brk = brk || '\n';
width = width || 75;
cut = cut || false;
if (!str) { return str; }
var regex = '.{1,' +width+ '}(\\s|$)' + (cut ? '|.{' +width+ '}|.+$' : '|\\S+?(\\s|$)');
return str.match( RegExp(regex, 'g') ).join( brk );
}
答案 1 :(得分:0)
jQuery似乎有一个word wrap plugin,这是一个用于自动换行textarea
的跨浏览器解决方案。如果您不打算在textarea
上使用此功能,可以尝试设置<p>
标记的宽度,以便它包装文本。
像
这样的东西<p style="width:50%">some text that is way longer than this</p>
答案 2 :(得分:0)
您可以直接使用CSS:
.break-word {
word-wrap: break-word;
}
IE 5.5 +,Firefox 3.5+和WebKit浏览器(如Chrome和Safari)支持自动换行。
http://webdesignerwall.com/tutorials/word-wrap-force-text-to-wrap