Полное описание товара в большинстве случаев нужно парсить с html. 

Есть ситуации когда html код настолько плохой, что лучше забрать чистый текст и размечать абзацы энтерами уже вручную. Например, бывает такое что каждая буква обрамлена тегом. 

В случае когда html код описания плюс\минус нормальный, то мы чаще всего применяем такие основные правила при парсинге:

1) ; на ,

2) перенос строки и таб на пробел (бывает по 30 переносов строки подряд).

3) " на '

4)   на пробел

Это основные замены, которые связаны с удобством обработки, загрузки и дальнейшей поддержки данных. Точки с запятой и таб это популярные разделители для excel и csv. Кавычками часто обрамляются значения. 

У замены кавычек также есть минус, что в тексте пропадут двойные кавычки, возможно, что-то придется редактировать вручную, если это критичная замена.

Аналогичный минус у замены точки с запятой на запятую. Но безопасность и перспективность работы с данными на первоначальном и массовом этапе для нас важнее.

Любые замены являются спорными и могут применяться и не применяться выборочно для разных задач.

Обязательно парсить в utf-8, а иначе могут потеряны ряд символов, в т.м.ч эмодзи 😱.

Постобработка описания после парсинга

Наиболее частые задачи:

  • Наличие ссылок внутри текста
  • Наличие картинок
  • Множественные переносы <br> или пустые <p></p>
  • вшитые стили у тегов

Ссылки внутри текста

либо выдергиваем список и делаем редиректы

либо на основании списка замены

Картинки

картинки выкачиваем, кладем в одну папку, все пути заменяем на общую папку

Множественные переносы 

Сокращаются при необходимости

Стили у тегов

по желанию клиента вырезаются полностью либо частично. Иногда в описании есть очень необычные дизайнерские блоки с картинками, в таком случае при полном удалении стилей верстать придется заново.