Я ищу способ использовать jQuery для выполнения того, что я могу сделать в php с помощью wordwrap () ( http://php.net/manual/en/function.wordwrap.php )
Я бы использовал php, но мне нужно, чтобы обертывание происходило динамически после загрузки dom.
Я не достаточно хорошо разбираюсь в jQuery, чтобы написать такую функцию с нуля, и я запустил несколько поисков google и stack, пытаясь найти готовый плагин или что-то, что уже сделано.
Есть идеи? Или, возможно, стартовое место?
Благодаря!
EDIT: для уточнения мне нужно иметь возможность добавлять html в разрывы строк (например, </p><p>
) –
как php:
wordwrap($text, 8, "</p><p>", true);
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 ); }
По-видимому, для jQuery есть плагин для переноса слов, который является перекрестным браузером для текстовой упаковки textarea
. Если вы не хотите использовать это в textarea
вы можете попробовать установить ширину <p>
чтобы он обертывал текст.
Что-то вроде
<p style="width:50%">some text that is way longer than this</p>
Вы можете сделать это напрямую с помощью CSS:
.break-word { word-wrap: break-word; }
Word-wrap поддерживается в браузерах IE 5.5+, Firefox 3.5+ и WebKit, таких как Chrome и Safari.
http://webdesignerwall.com/tutorials/word-wrap-force-text-to-wrap