Как определить символ мягкого переноса слова?

Имеется блок текста, в котором с помощью &shy организован перенос слов. Таким образом расстановка дефисов переноса происходит автоматически. В этом же блоке требуется реализовать правую "висячую пунктуацию". Как получить символ дефиса c помощью JS, автоматически поставленного браузером, чтобы его обработать?
  • Вопрос задан
  • 3320 просмотров
Решения вопроса 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
codepen.io/cleric/pen/xsdfv
Обычный поиск с помощью RegExp результат не даст — будут найдены все слова.

Для получения результата применяем цикл с exec, найденный текст превращаем в объект Range, у которого можно найти все области с помощью getClientRects. Дальше просто — если количество областей 2 и больше, мы нашли перенесённое слово.

Первоначальная реализация была доработана при активном содействии @iiil, за что всяческие ему благодарности:)
Ответ написан
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
@Petroveg а как собственно будет организована висячая пунктуация? В твоем примере мы найдем все слова, которые были перенесены. В этих словах мы можем заменить символ переноса, примерно так:
codepen.io/iiil/pen/pAmtc
Но при таком способе виден пробел в конце строки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы