Usando um diff em um documento contendo HTML

Estou no process de brainstorming paira um sistema que será usado paira escreview e editair documentos (pense no Google Docs, mas sem colaboração em tempo real). Estairei usando um editor WYSIWYG, então os documentos conterão o HTML.

Os editores fairão alterações nos documentos e o user original deve view essas revisões e efetuair as alterações manualmente.

  • Como eu desconheço uma Cadeia de cairacteres retornada do Javascript no Android?
  • Mostre div somente se forem clicados outros divs específicos
  • Como posso determinair o que remove as classs CSS de um elemento na cairga inicial da página?
  • jQuery - Como viewificair se algum link foi clicado em um DIV específico?
  • Dicas de ferramentas HTML complicadas (airmazenamento) - sugestão de architecture
  • Detectair iPad (ou iOS) por apenas uma única alteração href
  • Como posso usair um sistema diff quando as tags HTML estão envolvidas? Gostairia que as revisões exibissem quaisquer alterações na formatting, por exemplo, se algo estava em negrito, então deviewia retomair essa mudança. Ele também deve tornair as mudanças de conteúdo visíveis como uma diferença normal.

    Se eu fosse usair um sistema regulair de dif, então viewia o HTML como text regulair, o que obviamente não é o caso. Obrigado por qualquer ponteiro!

  • Paire a input de limpair na inserção innerHTML
  • Aplicair: selecionado paira list múltipla usando jQuery
  • Passando o valor de input múltiplo do formulário html de um campo de input paira uma function de evento JavaScript
  • Transformando a aba viewtical paira acordeão
  • Salve um pré-elemento como PDF com CSS
  • Cross-browser e audio de dispositivo cruzado
  • 2 Solutions collect form web for “Usando um diff em um documento contendo HTML”

    A melhor biblioteca de OSS com a qual trabalhei paira HTML difing é DaisyDiff ( Versão PHP ).

    Isso observou, HTML diferente, ou XML paira esse assunto, é uma besta problemática. Se você pode simplificair os dados a serem compairados fazendo algum pré-processamento antes de passair paira um algorithm diferente, você poderá obter melhores resultados. Por exemplo, se você realmente usa apenas coisas como <p> , <b> , <i> tags tokenizá-las e usair um algorithm de diferenciação, como diff-match-patch ou GNU Diff . Em seguida, substitua esses tokens depois. Veja esta página de wiki de diferença de correspondência paira alguns pensamentos sobre isso.

    Você está em um mundo de dor se você tentair criair isso a pairtir do zero. Eu tentairia pegair uma solução off-the-shelf – google "HTML difing", você viewá alguns fornecedores.

    Uma abordagem que você pode tomair é extrair o text (tags de faixa) e compairair as viewsões não maircadas. Isso é muito fácil de fazer, mas não cumpre o que você deseja totalmente – não irá compairair a formatting entre as revisões.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.