2015-11-03 132 views
-4

在前端有問題。用戶評論一個字符串的地方。在特定長度中自動換行符字符串

「WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA」

沒有空格。此問題會導致我的網站超出佈局中的文字,或者在移動瀏覽器中出現更糟糕的情況。 所以我想如果有一種方法來插入「\ n」或當string.lenght> my.lenght。當真正打破一條線?

+0

是的,但它是在CSS –

+0

實施「substr_replace」是林在JS談論是否有..在JS的任何功能相同的功能? –

+1

@FlashProgrammer你爲什麼試圖在JavaScript中做到這一點?無論您想出什麼解決方案,都不會自動隨您的文本容器一起流動。 – naomik

回答

2

我想一個快速的解決方案將使用正則表達式:

//javascript 
"12345678".split(/(.{2})/).slice(1, -1).join("<BR>"); 
//output = 12<BR><BR>34<BR><BR>56<BR><BR>78 

隨着這裏{2}每跳之間的字符數。

+1

這是我看:)謝謝兄弟..我會接受這個問題5分鐘後..非常感謝你Yacine!乾杯! :) –

5

你可以更容易地解決這個問題。

word-break屬性允許您爲特殊長詞定義顯示行爲。

點擊運行的代碼片段看到的結果

p { 
 
    background-color: #f0f0f0; 
 
    padding: 10px; 
 
    width: 200px; 
 
} 
 

 
p.notbroken { 
 
    word-break: break-all; 
 
}
<!-- broken --> 
 
<p> 
 
watch out for the really long word WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ok it's over 
 
</p> 
 

 
<!-- fixed --> 
 
<p class="notbroken"> 
 
watch out for the really long word WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ok it's over 
 
</p>

+0

嗨,感謝您的回答,但我正在尋找js代碼。由於在獲得json日期之前,我會在發佈不同部門之前,將所有評論分行打破。但是,這完美的作品,當我實現了這個類,並自動打破一個字 –

+0

我不知道你剛剛說什麼,但我敢打賭,你做錯了 – naomik

0

爲您的JavaScript解決方案。

小提琴:http://jsfiddle.net/b7grep1v/1/

var myDiv = document.getElementById('test'); 
var myString = "WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1"; 

if (myString.length > 10) { 
    var index = 0, 
     length = myString.length, 
     chunk = 10; 
    for (; index < length; index += chunk) { 
     myDiv.textContent += myString.slice(index, index + chunk) + "\n"; 
    } 
}