2013-12-02 9 views
0

Мне просто интересно, знает ли кто-нибудь об инструменте javascript, который может автоматически исправить недействительный синтаксис html? Я работаю на JavaScript основан на месте редактора, но я пока не элегантное решение, чтобы предотвратить плохое вложенности, как это:Javascript, чтобы исправить неверный html?

<p><span></p></span> 

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

+2

[Markitup] (http://markitup.jaysalvat.com/home/) может быть то, что вы ищете – Pippin

ответ

1

Да. Существует W3C Validator. Введите свой URI, а затем нажмите More Options и выберите Clean up markup with HTML-Tidy и вуаля. Однако это может испортить другие вещи, которые вы делаете, поэтому я рекомендую вам пройти через них самостоятельно

1

Комментарий Пиппина о MarkItUp был именно тем, что мне нужно. Для будущей справки для тех, кто с той же проблемой, я собираюсь с этим.

Для дальнейшего использования, создание пользовательского редактора с markitup было так же просто, как создание этой настройки хэш:

var settings = { 
    onShiftEnter:  {keepDefault:false, replaceWith:'<br />\n'}, 
    onCtrlEnter:  {keepDefault:false, openWith:'\n<p>', closeWith:'</p>'}, 
    onTab:   {keepDefault:false, replaceWith:' '}, 
    markupSet: [  
    {name:'Bold', key:'B', openWith:'(!(<strong>|!|<b>)!)', closeWith:'(!(</strong>|!|</b>)!)' }, 
    {name:'Italic', key:'I', openWith:'(!(<em>|!|<i>)!)', closeWith:'(!(</em>|!|</i>)!)' }, 
    {name:'Stroke through', key:'S', openWith:'<del>', closeWith:'</del>' }, 
    {separator:'---------------' }, 
    {name:'Bulleted List', openWith:' <li>', closeWith:'</li>', multiline:true, openBlockWith:'<ul>\n', closeBlockWith:'\n</ul>'}, 
    {name:'Numeric List', openWith:' <li>', closeWith:'</li>', multiline:true, openBlockWith:'<ol>\n', closeBlockWith:'\n</ol>'}, 
    {separator:'---------------' }, 
    {name:'Picture', key:'P', replaceWith:'<img src="[![Source:!:http://]!]" alt="[![Alternative text]!]" />' }, 
    {name:'Link', key:'L', openWith:'<a href="[![Link:!:http://]!]"(!(title="[![Title]!]")!)>', closeWith:'</a>', placeHolder:'Your text to link...' }, 
    {separator:'---------------' }, 
    {name:'Clean', className:'clean', replaceWith:function(markitup) { return markitup.selection.replace(/<(.*?)>/g, "") } },  
    {name:'Preview', className:'preview', call:'preview'} 
    ] 
} 

Затем просто включить сценарий плагин, и это связано таблицы стилей и добавить эту строку JavaScript в onDomReady :

$("#markItUp").markItUp(settings); 
+0

вы должны бросить в пример использования в вашем ответе. – Pavlo

+0

Работа над одним сейчас. –

Смежные вопросы