Bonjour à tous,

je cherche à faire une regex pour supprimer les commentaires inline php d'un fichier,
en prenant en compte le fait que la balise de fin de php (?>) est tout de même interprétée dans ce type de commentaire (et donc met fin au commentaire)

j'ai donc bidouillé un truc comme ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
preg_replace("#(//[^>]*(\?>|\n))#", "", $content)
Mais ça ne marche qu'a moitié, par exemple:

est bien supprimé,
ensuite:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
// another test ?><div>
Est bien remplacé par <div>

par contre
est également remplacé par <div> alors que toute la ligne devrait être supprimée.

et j'ai l'impression qu'il y a également un problème: il prend en compte plusieurs lignes :'(

Le problème étant que la partie [^>] empêche le caractère ">" dans le commentaire, alors que je cherche a interdire "?>" (et %> aussi dans le cas ou ce type de balise est autorisé par le serveur)

donc, pour faire simple, je cherche à créer un règle qui dit:
* n'importe quel caractère sauf s'il s'agit de "?>" ou "%>" ou "\n"

Quelqu'un sait-il comment faire ?