2010-12-02 14 views
0

Je suis en train d'exécuter cette expression régulière [\ s] + (<) | (>) [\ s] +VB6 expression régulière pour Dissolvant les espaces blancs HTML

dim myRegExp as object 
Set myRegExp = New RegExp 
myRegExp.MultiLine = True 
myRegExp.IgnoreCase = True 
myRegExp.Global = True 
myRegExp.Pattern = "[\s]+(<)|(>)[\s]+" 
'myRegExp.Test (str) 
str = myRegExp.Replace(str, "$2$1") 

cela ne semble pas les travaux

vous pouvez tester exécuter cette expression régulière sur http://www.regextester.com/ et il fonctionne parfaitement

il est supposé supprimer les espaces de gauche et à droite de balises HTML pour optimiser la page Web sans supprimer les espaces dans le texte réel juste inbetween htm l balises.

<br>  adsfdf </br> <img  
asdddasd  > 


sdfdsf <br>   <yah>43 3453490 
90        <tag> 
<tag> 

se transforme en

<br>adsfdf</br><img asdddasd>sdfdsf<br><yah>43 3453490 90<tag><tag> 

pourquoi ne pas travailler dans VB6/VBScript? grâce

Répondre

0

Essayez ceci:

myRegExp.Pattern = "\s+(<)|(>)\s+" 
str = myRegExp.Replace(str, "$2$1") 

VB6/VBScript Regexes probablement ne pas comme \s dans une classe de caractères.

+0

Probablement, mais il ne semble pas fonctionner aucune correspondance trouvée faisant myRegExp.Test (str) = false peut-être < > doit être avec des barres obliques aussi? idk lol, juste essayé \ s + (\ <)|(\>) \ s + ne fonctionne pas non plus – SSpoke

+0

Essayez chaque moitié de l'expression séparément. Peut-être que cela donne une priorité différente à l'opérateur '| Ou démarrez encore plus loin - testez si 's 'fonctionne. Puis '\ s +'. Alors '\ s + <'. Puis '\ s + (<)' etc. jusqu'à ce que vous trouviez la partie de l'expression qui étouffe. – cdhowie

+0

omg je suis trop fatigué \ s + (<)|(>) \ s + fonctionne réellement .. Je ai juste continué à regarder la fin de la sortie qui contient du code javascript qui ne soit pas emballé donc je me trompe les balises HTML sont très bien compressés. – SSpoke