Здравствуйте
Нашел на github плагин для переноса слов по слогам
Немного изменил плагин, что бы перенос слов был и в латинице
RusLatA - добавил буквы английского алфавита
RusLatV - добавил гласные буквы английского алфавита
RusLatN - добавил согласные буквы английского алфавита
Но теперь появилась такая проблема - в тексте есть див '#line_break', который используется в качестве разделителя и
стили этого дива игнорируются
если убрать из RusLatV буквы английского алфавита (aeiou), тогда все норм, стили дива выполняются
Код:
|
<style type="text/css">
#test{
width:110px;
height:300px;
background:#CF9;
text-align:justify;
}
#line_break{
width:100%;
height:1px;
font-size:1px;
margin-top:3px;
border-top:1px dotted currentColor;
}
</style>
<button onclick="transfer();">перенос текста</button>
<div id="test">
проверка переноса слов латиницы и Cyrillic по слогам
<div id='line_break'></div>
test переноса слов после разделителя
</div>
<script type="text/javascript">
$.fn.hyphenate = function(){
var RusLatA = "[abcdefghijklmnopqrstuvwxyzабвгдеёжзийклмнопрстуфхцчшщъыьэюя]";
var RusLatV = "[aeiouаеёиоуыэю\я]";
var RusLatN = "[bcdfghjklmnpqrstvwxyzбвгджзклмнпрстфхцчшщ]";
var RusLatX = "[йъь]";
var Hyphen = "\xAD";
var re1 = new RegExp("("+RusLatX+")("+RusLatA+RusLatA+")","ig");
var re2 = new RegExp("("+RusLatV+")("+RusLatV+RusLatA+")","ig");
var re3 = new RegExp("("+RusLatV+RusLatN+")("+RusLatN+RusLatV+")","ig");
var re4 = new RegExp("("+RusLatN+RusLatV+")("+RusLatN+RusLatV+")","ig");
var re5 = new RegExp("("+RusLatV+RusLatN+")("+RusLatN+RusLatN+RusLatV+")","ig");
var re6 = new RegExp("("+RusLatV+RusLatN+RusLatN+")("+RusLatN+RusLatN+RusLatV+")","ig");
this.each(function(){
var text=$(this).html();
text = text.replace(re1, "$1"+Hyphen+"$2");
text = text.replace(re2, "$1"+Hyphen+"$2");
text = text.replace(re3, "$1"+Hyphen+"$2");
text = text.replace(re4, "$1"+Hyphen+"$2");
text = text.replace(re5, "$1"+Hyphen+"$2");
text = text.replace(re6, "$1"+Hyphen+"$2");
$(this).html(text);
});
};
function transfer(){
$("#test").hyphenate();
}
</script> |