Jump to content

Archived

This topic is now archived and is closed to further replies.

linux_pickle

Regex to match PHP comments

Recommended Posts

I've been using PHP for a long time, but I am a beginner with Regexes.
I need a regex that will match any kind of PHP comment (/**/, //, #) because I am trying to write a script that will use preg_replace to remove all comments from a PHP file.

I have searched the web for a solution, but to no avail. >:(

Any help would be greatly appreciated,

linux_pickle

Share this post


Link to post
Share on other sites
Oops, forgot to mention that I found one regex on the perl site that looked hopeful:

s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|\n+|.[^/"'\\]*)#$2#g;

(from [url=http://www.perl.com/doc/manual/html/pod/perlfaq6.html#How_do_I_use_a_regular_expressio]http://www.perl.com/doc/manual/html/pod/perlfaq6.html#How_do_I_use_a_regular_expressio[/url])

Here is my PHP code:
[code]
// Clean comments
$comment_regex = '{/\*[^*]*\*+([^/*][^*]*\*+)*/|//[^\n]*|("(\\.|[^"\\])*"|\'(\\.|[^\'\\])*\'|.[^/"\'\\]*)}';
$infile_contents = preg_replace($comment_regex, '', $infile_contents);
[/code]

When I put in the regex, I escaped the single quotes (as you can see above), but after doing that I got this error:
[code]Warning: preg_replace(): Compilation failed: missing terminating ] for character
class at offset 77 in test.php on line 65[/code]???

Again, anyone's help would be greatly appreciated!

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.