通过正则表达式删除块注释

Abs*_*Abs 7 php regex

我试图让这个正则表达式工作有困难.我要做的就是删除块注释.这是我到目前为止,但我不能摆脱决赛*/.

$string = 'this is a test /*asdfa  */ ok then';

$pattern = '/\/\*([^\*\/]*)/i';

$replacement = '';

echo preg_replace($pattern, $replacement, $string);

//this is a test */ ok then
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

waj*_*jiw 6

Try this as your pattern:

/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/


Bil*_*eal 6

使用不同的分隔符/- 它会让人感到困惑.

怎么样'#/\*.+?\*/#s';


Ali*_*aru 6

token_get_all并在没有T_COMMENTs的情况下构建它.我认为不应该说更多.