Bonjour a tous,

J'ai un petit probleme que je n'arrive pas a resoudre. Je souhaiterai faire un script/fonction qui me transformerai un fichier txt qui contiens plus de 200 lignes de cette sorte :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Smiley = ".\Logan15\01.png", 0, ":) :-) =)", ":)"
Smiley = ".\Logan15\02.png", 0, ":)) :-)) :D =)) :-D", ":))"
Smiley = ".\Logan15\03.png", 0, ":-))) :))) :DD ^^^^^^ LOL lol *JOKINGLY* =)))", ":-)))"
en fichier php de cette sorte :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$_SESSION['message'] = str_replace (array (':-)))', ':)))', ':DD', '^^^^^^', 'LOL', 'lol', '*JOKINGLY*', '=)))'), '<img title="Logans Smileys" src="images/smilies/logans/03.png" style="vertical-align:middle;" alt="Logans Smileys" />', $_SESSION['message']);
$_SESSION['message'] = str_replace (array (':))', ':-))', ':D', '=))', ':-D'), '<img title="Logans Smileys" src="images/smilies/logans/02.png" style="vertical-align:middle;" alt="Logans Smileys" />', $_SESSION['message']);
$_SESSION['message'] = str_replace (array (':)', ':-)', '=)'), '<img title="Logans Smileys" src="images/smilies/logans/01.png" style="vertical-align:middle;" alt="Logans Smileys" />', $_SESSION['message']);
Comme vous pouvez le voir j'aimerai extraire le nom de l'image, la multitude de smilies entre les premieres quotes que je separe dans un array, et le dernier smilie est en option mais c'est bien si je l'extraits aussi enventuellement.

J'utilise cette fonction ci-dessous qui fait un bon boulot mais pas completement et comme je suis débutant avec le preg_replace, preg_match et tokens, je ne comprends pas tout malheureusement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
$s = 'Smiley = ".\Logan15\10.png", 0, ":-T :-t :T :t =T =t", ":-T"';
$tokens = token_get_all('<?php '. $s .' ?>');
foreach($tokens as $tok) {
   if (is_array($tok) && !in_array(token_name($tok[0]), array('T_OPEN_TAG', 'T_WHITESPACE', 'T_CLOSE_TAG'))) {
      $result[] = $tok[1];
   }
}
var_dump($result);
Merci pour votre aide !