Отображение открытого текста как HTML с сохранением пробелов - без
 

Учитывая любой текстовый файл, полный печатаемых символов, как его можно преобразовать в HTML, который будет отображаться точно так же (со следующими требованиями)?

  • Не полагается на любых правилах для пробелов HTML, кроме стандартных
    • Нет
        тег 
    • Нет CSS white-space rules
  • теги допустимы, но не обязательны ( < br /> s и / или

    s в порядке)
  • Пробелы сохраняются точно.

    Учитывая следующие строки ввода (игнорировать ошибочное автоматическое выделение синтаксиса):

     Первая строка
     Вторая строка с четырьмя пробелами с отступом
    

    Браузер должен отображать вывод точно так же, сохраняя отступ во второй строке и промежуток между «отступом» и «пробелами». Конечно, я на самом деле не ищу моноширинный вывод, а шрифт ортогонален алгоритму / разметке.

    Учитывая две строки как полный входной файл, пример правильного вывода будет:

     Первая строка 
    & nbsp; & nbsp; & nbsp; & nbsp; Вторая строка, с отступом & nbsp; & nbsp; & nbsp; четыре пробела
  • Желательна мягкая упаковка в браузере. То есть результирующий HTML не должен заставлять пользователя выполнять прокрутку, даже если строки ввода шире, чем их окно просмотра (при условии, что отдельные слова все еще сужаются, чем указанное окно просмотра).

Я ищу полностью определенный алгоритм . Бонусные баллы за внедрение в python или javascript .

(Пожалуйста, не просто отвечайте, что я должен использовать теги

  или CSS  white-space , поскольку мои требования делают эти параметры неприемлемыми. Пожалуйста, также не размещайте непроверенные и / или наивные предложения, такие как «замените все пробелы на  & nbsp; ». В конце концов, я Я уверен, что решение технически возможно - проблема интересная, не так ли?) 

10
задан Alan H. 15 February 2011 в 18:05
поделиться