Как обрезать строку и добавить символы в середине, в зависимости от длинны строки
Есть например строка, текст ссылки:
http://support.creative.com/downloads/welcome.aspx?nLanguageLocale=1033&nDriverType=1#type_1 В FF, при наведении на нее в Букмарках строка превращается , как на картинке, то есть обрезается слева и справа, в середину добавляются троеточие в случае, если количество символов даной строки превысило допустимое значение. ![]() Если: str=http://support.creative.com/downloads/welcome.aspx?nLanguageLocale=1033&nDriverType=1#ty pe_1 то как сделать чтобы : str="как на картинке" Средствами регулярных выражений или может быть как то по другому. Сильно не пинайте, так как пока полный ньюб ! |
if (str.length > 40) str = str.slice(0, 10) + '...' + str.slice(-10); |
Благодарю
|
Пытаюсь применить подсказку Riim. Не получается. Что не так?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled</title> </head> <body> <div id="nem" class="tab" style="background:#000000; width:300px; color:#ffffff; left:0px;top:0px;" onclick="alert(s);">11dfsdsvfsdm,nj ;kljcvscxcvxvc3222sbhjjshbdcvhjkvbshjcbshjcbjsdbch sbf11weqwe333</div> <script language="JavaScript"> var nem1 = document.getElementById('nem'); var str = nem1.length; if (str.length > 10) str = str.slice(0, 5) + '...' + str.slice(-5); </script> </body> </html> |
Цитата:
если вы хотите получить доступ к етксту внутри него, то следует использовать innerHTML PS Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Помогло. Работает вот так:
<div id="nem" class="tab" style="background:#000000; width:300px; color:#ffffff; left:0px;top:0px;" >11dfsdsvfsdm,nj ;kljcvscxcvxvc3222sbhjjshbdcvhjkvbshjcbshjcbjsdbch sbf11weqwe333</div> <script language="JavaScript"> var str=0; var nem1 = document.getElementById('nem').innerHTML; var str = nem1.length; if (str > 20) {nem1 = nem1.slice(0, 5) + '...' + nem1.slice(-5);} document.getElementById("nem").innerHTML = nem1; </script> |
Теперь другая задача возникла.
Надо в промежуток между словом и картинкой вставить точки. Вся строка фиксированной величины - 300px. Слово - не фиксированной величины, изменяемо. |
Результат: http://muscol.ru/catalog.php?var=1
Вопрос решен частично, но не красиво, вставлена в общем диве фоновая картинка с repeat-x. Можно ли аккуратно это сделать с помощью js? |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Понимаю, что вопрос элементарный но все таки.
Есть строка типа vasya.popov [50%]. Надо пробежаться по строке с лева на право до первого пробела, и отбросить все что после пробела, включая сам пробел. Т.е. должно остаться vasya.popov. |
Часовой пояс GMT +3, время: 11:03. |