Jump to content

Comment Detecting Regex


lococobra

Recommended Posts

I'm having trouble catching comments inside php code. Could someone help me revise my regex or tell me how I can make this work properly.

 

My comment detection regex is:

~//.*?[\n\r]~
and
~/\*(.*?)\*/~s

 

The problem is this...

$test = 'http://google.com'; <- is not a comment!

 

How can I get this regex so it doesn't catch anything inside strings?

Link to comment
https://forums.phpfreaks.com/topic/180497-comment-detecting-regex/
Share on other sites

you can use the inbuilt php tokenizer : example

<?php
$str = '<?php
$test = "http://www.google.com"; // made it 

// more comments 
echo "what are comments about";
?>
';

$tokens = token_get_all($str);

foreach ($tokens as $token) {
    if ($token[0] == T_COMMENT
        || $token[0] == T_DOC_COMMENT) {
        // This is a comment ;-)
        var_dump($token);
    }
}

?>

Archived

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

×
×
  • Create New...

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.