私は敏感なウェブページを持っています。行末の1文字の単語を自動的に次の行に移動することは可能ですか?1文字の単語を次の行に移動
例:
絵は千の言葉
価値があります。代わりの
:
絵は
千の言葉の価値があります。
私は敏感なウェブページを持っています。行末の1文字の単語を自動的に次の行に移動することは可能ですか?1文字の単語を次の行に移動
例:
絵は千の言葉
価値があります。代わりの
:
絵は
千の言葉の価値があります。
可能です。これを行う1つの方法は、textContent.replace(/(\S) /g, "$1\n")
とCSSプロパティーwhite-space: pre-line
です。 \w
は、JavaScriptの自然言語文字の適切なマッチャーではありません。これは、ASCII英数字にのみ一致するためです。
またtextContent.replace(/(\S) /g, "$1\xa0")
愚かしかし作品で非破壊可能なスペースでそれらと次の単語の間に空白を置き換えることにより、1文字の単語の後に発生するから改行を防ぐことができます。ただ、1つの文字の単語がある場合は、行の内容を確認する必要がありますし、そうならば、あなたはその前に `\のN 'を配置
function removeSingleCharLineBreak(){
var words = ['a', 'i', 's', 'z', 'v', 'k', 'o', 'u',
'A', 'I', 'S', 'Z', 'V', 'K', 'O', 'U', '€',
'na', 'za', 'do', 'Na', 'Za', 'Do',
];
var elements = ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'li', 'td', 'td'];
$.each(words, function(index, word){
var regex = new RegExp(" " + word + " ", "g");
$.each(elements, function(index, element){
$(element + ':contains(' + word + ')').each(function(){
if (word == '€')
{
$(this).html(
$(this).html().replace(regex, ' ' + word + ' ')
);
}
else
{
$(this).html(
$(this).html().replace(regex, ' ' + word + ' ')
);
}
});
});
});
}
ニーズに単語や要素配列内の値を変更します – Aelop