2011-12-07 177 views
3

我正在尋找一種方式來使用jQuery做什麼,我可以在PHP做換行()(http://php.net/manual/en/function.wordwrap.phpjQuery等價於php的wordwrap?

我會用PHP的,但我需要在包裝後的DOM是loaded--動態地發生

我不熟悉jQuery從頭開始編寫這種函數,我已經運行了一些谷歌和堆棧搜索試圖找到一個預製插件或已經完成的東西。

任何想法?或者也許是一個出發地?

謝謝!

編輯: 澄清,我需要能夠在換行符添加HTML(</p><p>,例如) -

爲PHP:

wordwrap($text, 8, "</p><p>", true); 

回答

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); 
} 
+0

我認爲這是或多或少正是即時尋找 - 你有什麼想法,我如何能與jQuery使用它? – Thomas

+0

簡單地說,你可以使用沿着jquery的ur本地js腳本,但是我想在你的jquery庫/模塊中使用這個,只需把這個函數作爲你的對象的一部分(類) – grafa

+0

Man!你真棒。 –

0

似乎有一個word wrap plugin爲jQuery這是一個跨瀏覽器解決方案的字包裝textarea。如果你不打算在textarea上使用它,你可以嘗試設置<p>標籤的寬度,以便它包裝文本。

喜歡的東西

<p style="width:50%">some text that is way longer than this</p> 
0

你可以用CSS直接做到這一點:

.break-word { 
    word-wrap: break-word; 
} 

換 - 在支持IE 5.5+,火狐3.5及更高版本,和WebKit瀏覽器(如Chrome和Safari)。

http://webdesignerwall.com/tutorials/word-wrap-force-text-to-wrap

+1

雖然我很喜歡使用CSS來做到這一點 - 我需要添加HTML到DOM - 例如使用PHP我會寫wordwrap($ str,8,「
」); - 所以CSS解決方案不會幫助,雖然謝謝! – Thomas