В настоящее время я использую CKEditor
, чтобы пользователь мог написать документ.
Обычно несколько пользователей имеют тенденцию начинать с нескольких пробелов и двух новых строк, а затем фактического содержимого. Скажем, пример HTML будет выглядеть примерно так:
Различные входы:Удаление пробелов, возврат каретки и ненужных тегов с использованием regexp
\n\n <p> </p>\n\n<p> </p>\n\n<p>This is a simple document</p>
<p></p>\n\n<p> </p>\n\n<p>Testing data</p>
<p></p>\n\n<p> </p>\n\n<p>This is my plan</p>\n\n<p> </p><b> Hi Hello</b>
Мне нужно, чтобы избавиться от всех нежелательных «ведущих» тегов, пробелов и возврат к перевозке только.
Вывод должен выглядеть следующим образом:
<p>This is a simple document</p>
<p>Testing data</p>
<p>This is my plan</p>\n\n<p> </p><b> Hi Hello</b>
Я попытался с помощью функции TRIM() в JavaScript, но он просто удалены ведущие пробельные. Мне не удалось удалить теги. В любом случае это может быть достигнуто в javascript с помощью RegExp?
Заранее спасибо
Регулярные выражения не будет помочь тебе. Они только дадут вам больше проблем. sgml не поддается регулярным выражениям. Вместо этого вы должны использовать синтаксический анализатор dom, ходить по дереву dom и очищать узлы, которые содержат только пробелы. Кстати, у вас уже есть такой парсер в вашем браузере, поэтому вы можете использовать его в своих интересах. Поместите это содержимое в iframe (только для защиты от несбалансированного форматирования), затем пройдите по dom и удалите все с содержанием только пробела. Затем сериализуйте обратно в строку снова – Munter
Не должна быть последней строкой '
Это мой план
Привет Здравствуйте'? –Я просто хочу, чтобы ведущие пробелы и ненужные теги были удалены, а не конечные/средние – Abhishek