Тире перед перед концом строки неправильно сохраняется. (РЕШЕНО)

Уже давно на сайте наблюдается такая проблема: если в тексте в конце строки стоит знак тире ("—"), то после сохранения текста редактор или jevix кушают конец строки и две строки слипаются. Мелочь, а не приятно, учитывая, что основной контент — стихотворный. Сейчас приходится после тире ставить пробел, а уже затем перевод строки. Кто-то может подсказать, как это вылечить?
Редактор — tyni МСЕ, пример с сайта:
Дантово озеро, Рейлевы острова — Не останавливай память, предвиденью не завидуй.
Решение найдено PSNet 'ом, под катом

Сссылка на Гихаб Текст оттуда:

«Чтобы исправить такое положение дел нужно внести правки в jevix.class.php метод
protected function dash(&$dash)»

нужно заменить на:
/**
 * Проверка на дефис
 * fix by Serge Pustovit (PSNet) <light.feel@gmail.com> http://psnet.lookformp3.net
 *
 * @param $dash         возвращаемое представление дефиса
 * @return bool
 */
protected function dash(&$dash){
  if ($this->curCh != '-') {
    return false;
  }
  $dash = '';
  $this->saveState();
  $this->getCh();
  // Несколько подряд
  while ($this->curCh == '-') {
    $this->getCh();
  }
  /*
   * количество переводов строк
   */
  $iNL = 0;
  if (!$this->skipNL($iNL) && !$this->skipSpaces()) {
    $this->restoreState();
    return false;
  }
  $dash = $this->dash;
  if ($iNL) {
    /*
     * вернуть нужное количествово переводов строк
     */
    $dash .= str_repeat($this->br, $iNL);
  }
  return true;
}


Напомню, что это файл расположен тут /engine/lib/external/Jevix
При открытии нового магазина очень важно уделить внимание качественной вывеске, которая будет привлекать новых клиентов. Поэтому в первую очередь необходимо позаботиться об изготовлении рекламы и наружном оформлении.

4 комментария

avatar
Вот это круто! Такое мне ещё не попадалось.
Дантово озеро, Рейлевы острова -
Не останавливай память, предвиденью не завидуй.

действительно будет:
Дантово озеро, Рейлевы острова — Не останавливай память, предвиденью не завидуй.
Плюс там с этим ещё куча проблем оказалась!

З.Ы. После двух часов ковыряния «чудесного» кода парсера и, тяжело вздыхая со словами «вот это хардкор», решение найдено:
github.com/livestreet/livestreet-framework/issues/60
avatar
Вот это круто! Такое мне ещё не попадалось
Ну, это ж поэтический текст, а народ не так часто их пишет, да ещё со знаками препинания. ))
После двух часов ковыряния «чудесного» кода парсера и, тяжело вздыхая со словами «вот это хардкор», решение найдено
Спасибо, два года мучились.
avatar
Добавьте в топик решение, что ли. Редкостный баг, да.
avatar
Само собой. Добавил.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.