Показать сообщение отдельно
  #9 (permalink)  
Старый 16.03.2014, 01:22
Аватар для Roman Koff
Аспирант
Отправить личное сообщение для Roman Koff Посмотреть профиль Найти все сообщения от Roman Koff
 
Регистрация: 14.04.2010
Сообщений: 46

Я понял свою ошибку. Я не правильно алгоритм составил.

Нужно:
1.	Заменить "</p>" и "<p>" на "\n"
2.	Добавить в начало и конец "\n"
3.	Заменить "\n" на "</p><p>"
4.	Заменить все пробельные символы на пробел
5.	Удалить все двойные пробелы
6.	Заменить "</p> <p>" на "</p><p>"
7.	Заменить " </p>" на "</p>"
8.	Заменить "<p> " на "<p>"
9.	Заменить все "</p><p></p><p>" на "</p><p>"
10.	Удалить "</p>" в начале (если есть)
11.	Удалить "<p>" в конце (если есть)
12.	Заменить "</p>" на "</p>\n\n"

Есть альтернативный вариант:
1.	Заменить "</p>" и "<p>" на "\n"
2.	Заменить все пробельные символы за исключением "\n" на пробел
3.	Удалить все двойные пробелы
4.	Получить массив строк по разделителю "\n" исключая пустые (пробельные) строки
5.	Объединить массив в строку используя соединитель "</p>\n\n<p>"
6.	Добавить в начало "<p>" и в конец "</p>"


Не знаю, что на JS будет оптимальнее. На C# делал бы 2 вариант.

Последний раз редактировалось Roman Koff, 16.03.2014 в 01:32.
Ответить с цитированием