簡體   English   中英

如何在字母之間插入連字符而不是換行符?

[英]How to insert hyphen between letters instead of line-break?

我想要做的是這樣,當單詞豐富行的結尾時,將單詞分成兩個單詞並在換行符之前插入連字符。 它與<wbr>標簽類似,但不插入任何內容。
例子:

Java-  <--- I want to insert this hyphen before line-break
Script

要么

Ja- <---- Same here
vaScript

無論如何做到了嗎? 我不介意使用phpjavaScriptjQuery更可取,如果我能用CSSHTML實現它會很棒。 Thnx提前!

看起來有一些有限的瀏覽器支持CSS連字 那對你有用嗎?

如果你想在客戶端做,你需要一個連字符插件。 原因是,需要遵循一個連字符規則字典,這不是簡單地包含在瀏覽器中的東西。 [更新:雖然,該聲明已經部分錯誤! 克里斯的鏈接顯示有限(非常有限,但仍然......很有希望!)的支持。

這是我發現的一個jQuery插件: http//archive.plugins.jquery.com/plugin-tags/hyphenation我知道我之前在項目中使用了一個(可能已經是這個了)。 它當然會將連字符插入到節點的內容中,但內容不需要包含它,連字符是在DOM准備好之后由函數計算的。

這些規則是否足夠廣泛,可以打破“規范”之外的詞語,這是另一個問題。

附注:JavaScript是一個專有名詞,應該從連字符中排除。 不過,我想這只是一個例子。 ;-)

此功能應該可以解決您的問題。
它插入Soft Hyphen | $害羞; 變成“長”字。


  • pText =你的字符串
  • pMax =單詞中的每個X字符都插入一個Soft Hyphen;

function hyphen(pText, pMax){
        var t = pText.split(" ");
        for(i=0; i<t.length; i++){
                if(t[i].length<pMax){
                        var w = t[i]
                        var re = new RegExp("(.{"+pMax+"})","g");
                        if(w.length<pMax+3){
                                var pos = t[i].length - 3;
                                re = new RegExp("(.{"+ pos +"})","g");
                        }
                        t[i] = w.replace(re,"$1"+&shy;);
                }
        }
        return t.join(" ");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM