Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2108 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Parser du js

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Parser du js

n°1720730
milootoolo​o
Posté le 21-04-2008 à 07:36:13  profilanswer
 

Bonjour!
 
Je souhaite vérifier que du code javascript ne contient que des déclarations de fonctions. J'utilise une expression rationnelle mais ça ne passe pas..
Voila mon expression:
 
$scrip=preg_match('`(function (.*)\((.*)\)\{.*\}([ \n]*))*`', $script,$match);
 
Auriez vous une idée de ce qui ne va pas? Si vous ne comprenez rien à mon expression, j'essaierai de vous expliquer ce que j'imagine que ça dois faire. Merci de votre aide.


Message édité par milootooloo le 21-04-2008 à 07:50:36
mood
Publicité
Posté le 21-04-2008 à 07:36:13  profilanswer
 

n°1720743
sielfried
Posté le 21-04-2008 à 08:17:51  profilanswer
 

C'est pas simple. Y a pleins de cas qui peuvent poser problème, notamment :
- les accolades imbriquées (conditions, boucles, etc.) qui imposeraient d'utiliser de la récursion ((?R) ou "manuellement" ) ;
- les choses contenues dans des chaînes de caractères, au hasard une accolade (voire une chaîne de caractères contenant une fonction).
 
C'est peut-être faisable, mais tu risques de bien t'amuser. Pourquoi t'as besoin de faire ça, concrètement ?
 
Quant au masque que tu postes, il faudrait au moins commencer par activer l'option U (voir doc). (Autre chose, là tu empêches les espaces/sauts de ligne entre deux fonctions, ce qui n'est probablement pas voulu. :spamafote:)


Message édité par sielfried le 21-04-2008 à 08:20:10

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1720753
milootoolo​o
Posté le 21-04-2008 à 09:10:23  profilanswer
 

Ouais, je sent que je vais rigoler..
J'ai pensé a ca:
 
function toto(){
 
}
 
toto(); //}
 
Et ca ca passe alors que ca devrais pas passer dans mon idée.
Sinon le pourquoi, c'est que je veux inclure des scripts qui peuvent venir de nimporte ou, mais je veux garantir qu'on execute pas un de ces scripts au chargement (onLoad) mais seulement sur un onClick. Je compte parser les liens onLoad et <script></script> après.
Je sent que je vais devoir me faire une vraie grammaire qui prend en compte les commentaires ..
Sinon je vais regarder l'option U. Merci.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Parser du js

 

Sujets relatifs
Problème initialisation parserParser XML attribut, php5
SimpleXML et noeud fermé : impossible de parser[DOM4J] Parser un DOMDocument
Parser SGML.Parser une page ?
[Script]Parser un fichier C et imprimer les fonctions externesProbleme de parser XML / XSLt - Doublons
Parser un fichier simple en C++ [JavaCC]Novice en création de parser
Plus de sujets relatifs à : Parser du js


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)