патерн подобен
/* 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 */
Я хотел бы удалить блоки комментариев, но вместо поиска /**/
мне хотелось бы, чтобы комментарий был /* comment [] */
где []
является фактическим комментарием.
Это делается для того, чтобы избежать текста, который должен содержать комментарии.
так вот условия комментария
/* comment
*/
Это удаляет блоки комментариев:
preg_replace('%/\*\s+comment\s+.*?\*/%s', '', $string)
И это избавится от устаревшего пробела:
preg_replace('%/\s*\*\s+comment\s+.*?\*/\s*%s', '', $string)
Вот тестовый скрипт:
#!/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); ?>
Выход с 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 ]
Кажется, чтобы сделать работу 🙂
preg_replace("(\\/\\*[\s]*?comment[\\d\\D]*?[\s]*?\\*\\/)",'',$str)
Как я узнал?
хорошо этот сайт просто tooooo amazing 🙂