Я хочу написать регулярное выражение в php для сопоставления строки в двойной и одинарной кавычках. На самом деле я пишу код для удаления строк комментариев в файле css.
Подобно:
"/* I don't want to remove this line */"
но
/* I want to remove this line */
Например:
- valid code /* comment */ next valid code "/* not a comment */" /* this is comment */
Ожидаемый результат:
- valid code next valid code "/* not a comment */"
Пожалуйста, кто-нибудь дает мне регулярное выражение в php для моего требования.
Это должно сделать следующее:
preg_replace( '/\s*(?!<\")\/\*[^\*]+\*\/(?!\")\s*/' , '' , $theString );
Прецедент:
$theString = '- valid code /* comment */ next valid code "/* not a comment */" /* this is comment */'; preg_replace( '/(?!<\")\/\*[^\*]+\*\/(?!\")/' , ' ' , $theString ); # Returns 'valid code next valid code "/* not a comment */" '
Согласно комментариям @hexalys, которые ссылались на http://www.catswhocode.com/blog/3-ways-to-compress-css-files-using-php
Обновленное регулярное выражение в соответствии с этой статьей:
preg_replace( '!/\*[^*]*\*+([^/][^*]*\*+)*/!' , '' , $theString );