Проект движка торрент-трекера CyBERhype Tracker

Пропустить

Проект CyBERhype Tracker

перенос длинных слов

Общение на любую тему, флуд, флейм, off topic.

Модераторы: serg575, LavR, MIsteRS

перенос длинных слов

Сообщение waip » 30 июл 2010, 08:07

Доброе время суток.

столкнулся с проблемой переноса слов если они длинные также и символы если их писать слитно

Скриншоты :
Скрытый текст :
Изображение
Изображение


Нашел js скрипт но не могу его приспособить
Вот такой скрипт:
Код: Выделить всёРазвернуть
// ************************************************************
//  Разбивка длинных слов (последовательностей непробельных символов)
// ************************************************************
var msg_text=''; //глобальная переменная для "накопления" текстового содержимого

(function(){
  var s= window.onload || function(){};
  window.onload= function(){s(); start_length()};
})();

// *************************************************************
function start_length(){
  //выберем из документа все span'ы
  var allmsg= document.getElementsByTagName('SPAN');
  //далее в массиве перебираем все элементы
  for(var i=0; i<allmsg.length; i++){
    if(allmsg[i].className=='msg'){
      msg_text='';
      Perebor(allmsg[i]);
    };
  };
};

// Перебор всех дочерних текстовых узлов
// и преобразование текста, если нужно
function Perebor( elem ) {
  if(!elem || typeof(elem)!='object' || !elem.childNodes) return;

  //длинное слово, 25 - макс.длина
  var rw= /S{25}/gim;
  //если узел текстовый, проверим его
  for(var i=0; i<elem.childNodes.length; i++) {
    if(elem.childNodes[i].nodeName=='#text'){
      //проверим, есть ли в узле длинные слова
      if(elem.childNodes[i].nodeValue.match(rw)){
        //если есть, разобъем их
        elem.childNodes[i].nodeValue = elem.childNodes[i].nodeValue.replace(rw, '$& ')
      };
      //проверим, образуются ли при добавлении этого текста длиные слова
      if((msg_text+elem.childNodes[i].nodeValue).match(rw)){
        //образуются - добавляем  пробел!
        elem.childNodes[i].nodeValue= ' '+elem.childNodes[i].nodeValue
      };
      //запомним новое значение
      msg_text+=elem.childNodes[i].nodeValue;
    }else{//если не текстовый, проверяем дальше(рекурсивно)
      Perebor( elem.childNodes[i] );
    };
  };
};


либо как нибудь по другому убрать эту проблему подскажите.

Заранее благодарен!

Добавлено спустя 3 дня 6 часов 36 минут 59 секунд:
Спасибо за помощь сам разобрался с проблемой...

если есть таже проблема могу помочь.
Аватара пользователя
waip
Зарегистрированный
 
Сообщения: 21
Зарегистрирован: 17 июн 2010, 17:48
Предупреждения: 0
Пол: Муж.

Re: перенос длинных слов

Сообщение Cepairda » 02 авг 2010, 15:36

Помоги мне такое тоже нужно.
Cepairda
Участник
 
Сообщения: 207
Зарегистрирован: 24 дек 2009, 20:24
Предупреждения: 0
Пол: Муж.


Вернуться в Болталка

Кто сейчас на конференции

Сейчас этот форум просматривают: Fallout и гости: 0