php preg_replace comment blocks

前端 未结 2 1853
小鲜肉
小鲜肉 2020-12-20 06:22

the patern is like so

/* comment [comment goes here] */
/* comment please do not delete the lines below */
[I am a special line so I should not be changed ]         


        
相关标签:
2条回答
  • 2020-12-20 07:01

    Seems to do the job :)

    preg_replace("(\\/\\*[\s]*?comment[\\d\\D]*?[\s]*?\\*\\/)",'',$str)

    How I found out ?

    well this website is just tooooo amazing :)

    http://txt2re.com/index.php3

    0 讨论(0)
  • 2020-12-20 07:03

    This removes the comment blocks:

    preg_replace('%/\*\s+comment\s+.*?\*/%s', '', $string)
    

    And this get's rid of obsolete whitespace as well:

    preg_replace('%/\s*\*\s+comment\s+.*?\*/\s*%s', '', $string)
    

    Here's a test script:

    #!/usr/bin/php
    <?php
    
    $string = <<<EOS
    /* comment [comment goes here] */
    /* comment please do not delete the lines below */
    [I am a special line so I should not be changed ]
    /* comment please do not delete the line above */
    EOS;
    
    print $string;
    print "\n---\n";
    print preg_replace('%/\*\s+comment\s+.*?\*/%s', '', $string);
    print "\n---\n";
    print preg_replace('%/\s*\*\s+comment\s+.*?\*/\s*%s', '', $string);
    
    ?>
    

    Output with PHP 5.3.4:

    /* comment [comment goes here] */
    /* comment please do not delete the lines below */
    [I am a special line so I should not be changed ]
    /* comment please do not delete the line above */
    ---
    
    
    [I am a special line so I should not be changed ]
    
    ---
    [I am a special line so I should not be changed ]
    
    0 讨论(0)
提交回复
热议问题