J'ai besoin d'analyser certains fichiers texte à la recherche de classes php. Ainsi, par exemple, si j'ai un fichier texte avec cette source:Regex et PHP pour obtenir le contenu de la classe Java/PHP à partir d'un fichier source
... texte ...
... un autre texte ...
class Foo {
fonction barre ($ param) { ... faire des choses ...}
}
... un autre texte ...
Bar class {{
Foo() fonction... faire quelque chose .... }
}
... une autre ...
Dans ce cas, mon expression régulière doit correspondre aux deux classes et le contenu des cours, pour revenir ce résultat:
premier résultat:
class Foo {
fonction bar ($ param) { ... faire des choses ...}
}
deuxième résultat :
Bar class {
fonction Foo() {... faire quelque chose .... }
}
J'ai essayé beaucoup de fois mais malchanceux. Mon dernier test était
/^ [\ n \ r \ t] (: résumé | classe | interface) {1} (.) [^ (?: Classe | interface)] * $/im
mais il ne correspond qu'à
class Foo {
et
Bar class {
sans le contenu de la classe.
Merci pour votre aide :)
Demandez-vous comment faire correspondre le contenu d'un peut-être imbriqué '{..}' structure de bloc? – tchrist
Bonjour et bienvenue dans Stack Overflow. Pour écrire du code, n'utilisez pas '>' mais collez plutôt le code, sélectionnez-le et appuyez sur Ctrl-K. Ceci est vraiment mieux. –