Regex de supprimer les commentaires et les commentaires multi-lignes et des lignes vides
Je veux analyser un fichier et je veux utiliser php et regex de bande:
- vide, ou des lignes vides
- commentaires d'une ligne
- commentaires multilignes
fondamentalement, je veux supprimer toute ligne contenant
/* text */
ou commentaires multilignes
/***
some
text
*****/
Si possible, un autre regex pour vérifier si la ligne est vide (Supprimer les lignes vides)
Est-ce possible? quelqu'un peut-il poster pour moi une regex qui est qui?
Merci beaucoup.
- Connexes: stackoverflow.com/questions/503871/...
Vous devez vous connecter pour publier un commentaire.
Garder à l'esprit que les regex vous utilisez échoue si le fichier que vous êtes d'analyse a une chaîne de caractères contenant quelque chose qui correspond à ces conditions. Par exemple, ça donnerait ceci:
Dans cette:
Qui est probablement pas ce que vous voulez. Mais c'est peut-être, je ne sais pas. De toute façon, regexes techniquement ne peut pas analyser les données de manière à éviter ce problème. Je le dis parce que techniquement moderne PCRE regexes ont cloué sur un certain nombre de hacks afin de les rendre capables de faire cela et, plus important encore, ne sont plus régulière expressions, mais peu importe. Si vous voulez éviter de dépouiller ces choses à l'intérieur de guillemets ou dans d'autres situations, il n'y a pas de substitut à un véritable analyseur (mais il peut encore être assez simple).
https://example.com
est également remplacé.Il est possible, mais je ne le ferais pas. Vous devez analyser l'ensemble du fichier php à assurez-vous que vous n'êtes pas en supprimant tout nécessaire d'espaces (chaînes de caractères, les espaces entre les mots-clés/identifiants (publicfuntiondoStuff()), etc). Mieux utiliser le extension tokenizer de PHP.
Cela devrait fonctionner dans le remplacement de tous les /* à */.
C'est ma solution , si l'on n'est pas utilisé pour les regexp. Le code suivant supprimer tous les commentaires délimité par # et récupère les valeurs de la variable dans ce style NOM=VALEUR
C'est une bonne fonction, et ça marche!
Maintenant à l'aide de cette fonction 'strip_comments" pour passer le code contenu dans une variable:
Entraînera la sortie
Chargement à partir d'un fichier php:
Chargement d'un fichier php, le décapage des commentaires et de l'enregistrement des
Source: http://www.php.net/manual/en/tokenizer.examples.php
J'ai trouvé cette me convient mieux,
(\s+)\/\*([^\/]*)\*/\n*
il supprime multi-ligne, des onglets ou pas les commentaires et la espacés derrière elle. Je vais laisser un commentaire exemple de cette expression correspond.