Regex pour extraire un tableau sérialisé d'un fichier log IPN-Paypal
Hello Terretous,
J'ai un problème de regex javascript qui est le suivant:
-j'ai une <div> qui m'affiche dans mon navigateur, le contenu d'un fichier log.
-au sein de ce contenu, j'ai des phrases simples de débogage, et parfois un tableau sérialisé par php.
Le fichier (pour anecdote, c'est une journalisation du protocole IPN de Paypal) d'où je veux extraire une information pouvant être récurrente est le suivant:
Code:
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| 2016-10-18 10:02:28 - ERR (3): [le 19/10/2016 18:02:25, blabla1
blabla2]
DEBUT_POST
Array
(
[item_name] => smartPhone - The Fonz (avec peigne integre)
[txn_type] => cart
[txn_id] => 899327589
[notify_version] => 2.4
[custom] => abc|123
[invoice] => abc
[test_ipn] => 1
[verify_sign] => AFcWxV21C7fd0v3bYYYRCpSSRl31Av8kdf7ABYZs1hQc4YihAjoRqz3V
)
FIN_POST
2016-10-18 11:05:13 - ERR (3): [le 10/10/2016 10:02:25, blabla3
blabla4]
2016-10-18 09:12:24 - ERR (3): [le 10/10/2016 10:02:25, blabla5
blabla6]
DEBUT_POST
Array
(
[item_name] => smartPhone - The Fonz (avec peigne integre)
[txn_type] => cart
[txn_id] => 899327589
[notify_version] => 2.4
[custom] => xyz|123
[invoice] => xyz
[test_ipn] => 1
[verify_sign] => AFcWxV21C7fd0v3bYYYRCpSSRl31Av8kdf7ABYZs1hQc4YihAjoRqz3V
)
FIN_POST
2016-10-18 15:15:56 - ERR (3): [le 10/10/2016 10:02:25, blabla7
blabla8]
2016-10-19 11:05:13 - ERR (3): [le 10/10/2016 10:02:25, blabla9
10èmeblabla]
DEBUT_POST
Array
(
[item_name] => smartPhone - The Fonz (avec peigne integre)
[txn_type] => cart
[txn_id] => 899327589
[notify_version] => 2.4
[custom] => abc|123
[invoice] => abc
[test_ipn] => 1
[verify_sign] => AFcWxV21C7fd0v3bYYYRCpSSRl31Av8kdf7ABYZs1hQc4YihAjoRqz3V
)
FIN_POST
2016-10-19 11:05:13 - ERR (3): [le 10/10/2016 10:02:25, blabla9
10èmeblabla]
etc, etc |
Pour information, j'utilise cette régularité pour écrire en php côté serveur dans ce fichier *.log:
Code:
echo 'DEBUT_POST'.PHP_EOL.serialize($_POST).PHP_EOL.'FIN_POST';
J'essaie déjà d'extraire la première occurrence du tableau qui contient [invoice] => abc.
C'est un tableau multi-lignes, donc j'ai testé en javascript...:
Code:
1 2
| sRes = sZeLogFileInDiv.search(/^DEBUT_POST(.*)FIN_POST*/gmi);
alert(tsRes[1]); |
...mais elle ne me renvoie que false !?? :bug: et ce, seulement pour tenter d'extraire un tableau :koi: , sans même le filtre incluant de [invoice] => abc).
=> Est-ce que quelqu'un voit ce qui est faux dans cette regex (PS: je tiens à utiliser du multi-lines de la forme: ^DEBUT_POST(.*)\[invoice\] => abc(.*)FIN_POST$ )?
Cordialement.