Я не думаю, что это решает проблему под рукой. Вы начинаете со строки HTML и еще не проверяли случайное количество пробелов в текстовом источнике.
юбом произвольном текстовом файле, полном печатных символов, как это можно преобразовать в HTML, который будет отображаться точно так же (с учетом следующих требований)?
Не полагается ни на что, кроме правил пробелов HTML по умолчаниюнет<pre>
тегНет CSSwhite-space
правила<p>
теги в порядке, но не обязательно (<br />
и / или<div>
с нормально)Пробел поддерживается точно.
Учитывая следующие строки ввода (игнорируйте ошибочную автоматическую подсветку синтаксиса):
Line one
Line two, indented four spaces
Браузер должен отображать вывод точно так же, сохраняя отступ второй строки и разрыв между «отступом» и «пробелами». Конечно, я не ищу моноширинный вывод, а шрифт ортогонален алгоритму / разметке.
Учитывая две строки как полный входной файл, пример правильного вывода будет:
Line one<br /> Line two,
indented four spaces
Мягкая упаковка в браузер желательна. То есть результирующий HTML не должен заставлять пользователя прокручиваться, даже если строки ввода шире, чем их область просмотра (при условии, что отдельные слова все еще сужаются, чем указанная область просмотра).
Я ищу полностью определеннуюалгоритм. Бонусные баллы за реализацию впитон или жеJavascript.
(Пожалуйста, не просто ответьте, что я должен использовать<pre>
теги или CSSwhite-space
правило, так как мои требования делают эти варианты несостоятельными. Просьба также не публиковать непроверенные и / или наивные предложения, такие как «заменить все пробелы на
«В конце концов, я уверен, что решение технически возможно - это интересная проблема, не правда ли?)