Bonjour � tous,

depuis ce matin je suis sur un "probl�me"? de regex sur du code source html ...
Bon, d�j�, le regex c'est pas si simple en JS mais bon, je suis oblig�, et bien ca fait bosser un peu

Je suis en train de creer un script GreaseMonkey qui avec le code source de la page courante :
je veux r�cup�rer une multitude d'info, pour �tre pr�cis 50*6.

Voici mon code JS :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
var ok = true;
 
var all_user = /<input type='hidden' name='do' value='delete'>(.*?)<BR><input type='button'/g.exec(document.body.innerHTML);
var all_user4 = document.body.innerHTML.match(/<input type='hidden' name='do' value='delete'>([\s\S]*?)<BR><input type='button'/m);
var all_user2 = /<li class="index"><a href="index.php"><span>(.*?)<li class="forums"><a href="forums.php"><span>/g.exec(document.body.innerHTML);
var all_user3 = /<li class="index"><a href="index.php"><span>/.exec(document.body.innerHTML);
var string = document.body.innerHTML;
var regex  = /<input type='hidden' name='do' value='delete'>([\s\S]*?)<\/table><BR><input type='button' value='Check All' onclick='this\.value=check\(form\)'>/g; 
console.log( regex.exec(string) ); // Console Firebug 
 
for (j=1; j<=50; j++){ 
var user = /<tr>(.*?)<\/tr>/.exec(all_user);
var var1 = /<a href=dtls.php\?id=[0-9]+>(.*?)<\/a>/.exec(user);
var var2 = /<td class=table_col2 align=center>(.*?)<\/td>/.exec(user);
var var3= /<td class=table_col1 align=center>(.*?)<\/td>/.exec(user);
var var4= /<td class=table_col2 align=center>(.*?)<\/td>/.exec(user);
var var5= /<td class=table_col1 align=center>(.*?)<\/td>/.exec(user);
var var6 = /<td class=table_col2 align=center>(.*?)<\/td>/.exec(user);
if (ok) {
	alert(var1+ " " +  var2+ " " +  var3+ " " +  var4+ " " +  var5+ " " +  var6);
	ok = false;
	}
//file.WriteLine(var1+ " " +  var2+ " " +  var3+ " " +  var4+ " " +  var5+ " " +  var6); //ActiveXObject ne marche pas sous FF
}
//}

Mon code source qui m'interesse ici est de cette t�te :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form action='test.php?ok=users' method='POST'><input type='hidden' name='do' value='delete'>
		<tr><td class=table_col1 align=center><a href=dtls.php?id=128895>VAR1</a></td>
		<td class=table_col2 align=center>VAR2</td>
		<td class=table_col1 align=center>VAR3</td>
 
		<td class=table_col2 align=center>VAR4</td>
		<td class=table_col1 align=center>VAR5</td>
		<td class=table_col2 align=center>VAR6</td>
		<td class=table_col1 align=center><input type=checkbox name='userids[]' value='128895'></td>
		</tr>
 
<tr><td class=table_col1 align=center><a href=dtls.php?id=12895>VAR1</a></td>
		<td class=table_col2 align=center>VAR2</td>
		<td class=table_col1 align=center>VAR3</td>
 
		<td class=table_col2 align=center>VAR4</td>
		<td class=table_col1 align=center>VAR5</td>
		<td class=table_col2 align=center>VAR6</td>
		<td class=table_col1 align=center><input type=checkbox name='userids[]' value='12895'></td>
		</tr>
ETC
bref, voil�, je veux r�cup les VARx

Alors j'ai commenc� � �crire un truc. Il y a une partie dont je ne suis pas sur, c'est ca :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
var var1 = /<a href=dtls.php\?id=[0-9]+>(.*?)<\/a>/.exec(user);
var var2 = /<td class=table_col2 align=center>(.*?)<\/td>/.exec(user);
var var3 = /<td class=table_col1 align=center>(.*?)<\/td>/.exec(user);
var var4 = /<td class=table_col2 align=center>(.*?)<\/td>/.exec(user);
var var5 = /<td class=table_col1 align=center>(.*?)<\/td>/.exec(user);
var var6  = /<td class=table_col2 align=center>(.*?)<\/td>/.exec(user);
Je ne sais pas si ca capture bien ce que je veux puisque "<td class=table_col2 align=center>" n'est pas unique ...

Mais c'est pas ici que je coince pour le moment, mais ici :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
var string = document.body.innerHTML;
var regex  = /<input type='hidden' name='do' value='delete'>([\s\S]*?)<\/table><BR><input type='button' value='Check All' onclick='this\.value=check\(form\)'>/g; 
console.log( regex.exec(string) ); // Console Firebug
Il me renvoie NULL.


Une id�e ? (ca doit pas �tre tr�s compliqu�, mais j'ai absuloment rien trouv� sur le net)

PS : y a des testes dans mon js : all_usersX