2009-08-13 7 views
0

Je suis dans une situation où je dois correspondre à deux chaînes contenant HTML.II ne peut pas utiliser la comparaison exacte que les deux piqûres peuvent parfois différer en raison des espaces blancs ou quelque chose comme   etc.chaînes correspondantes contenant HTML avec JavaScript

Je

essayé d'utiliser remplacer (/ [\ r \ n \ t]/g, « ») ce résolu mon problème avec le spaces.But blanc Je ne sais pas, comment puis-je comparer chaîne à succès comme

<span class='foo'> this is 
         a 
    test<span> 

    with 

    <span class='foo'> this &nbsp;&nbsp; is 
         a 
    test<span> 

    or with 

    &gt; span class="foo" &lt; this &nbsp; is 
         a 
    test &gt;span&lt; 
N'importe quel pointeur à cet égard sera utile.

Merci à l'avance

Répondre

1

je peux penser à une solution à 4 étapes. Effectuez les opérations suivantes sur les 2 chaînes:

  1. Remplacer tous les espaces double avec un espace
  2. Remplacer nouvelles lignes avec rien
  3. Convertir en minuscules
  4. Vérifier l'égalité (en utilisant == devrait être suffisant)
0

Vous devrez faire tout ce que vous avez déjà fait plus regexp tout ce que vous html (entités html) dans le texte.
Pour couper le code HTML, vous pouvez utiliser quelque chose comme ceci:

stringObject.replace(/&gt;/g,"<") 
stringObject.replace(/&lt;/g,">") 
Questions connexes