如何使用PHP从css文件中提取图标类名及其内容值?

如何使用PHP从css文件中提取图标类名及其内容值?,php,regex,Php,Regex,我有一个用于自定义图标的CSS文件,我想从中提取类名和内容值 CSS文件主要包含以下行: .my-icon-bus:before { content: '\e820'; } /* '' */ .my-icon-tools:before { content: '\e821'; } /* '' */ .my-icon-science:before { content: '\e822'; } /* '' */ .my-icon-quotes:before { content: '\e823';

我有一个用于自定义图标的CSS文件,我想从中提取类名和内容值

CSS文件主要包含以下行:

.my-icon-bus:before { content: '\e820'; } /* '' */
.my-icon-tools:before { content: '\e821'; } /* '' */
.my-icon-science:before { content: '\e822'; } /* '' */
.my-icon-quotes:before { content: '\e823'; } /* '' */
.my-icon-printer:before { content: '\e827'; } /* '' */
我在regex101.com中尝试了下面的regex模式,效果很好——可以看到它在工作,返回类名和内容代码,但是当我尝试使用preg_match_all从PHP执行相同操作时,它与任何内容都不匹配

\.(my-icon-\w+):before\s*{\s*content:\s*(["']\\\w+["']);
这是我的PHP代码,希望你们中的一位正则表达式大师能帮我解决这个问题

$css = file_get_contents( '/path/to/my/css/file/my-icon.css' );

preg_match_all( '/\.(my-icon-\w+):before\s*{\s*content:\s*(["\']\\\w+["\']);/s', $css, $matches );
var_dump($matches);
如果有人想知道,变量$css确实有css文件内容

提前感谢您提供的任何帮助

/\\.(my-icon-\\w+):before\\s*{\\s*content:\\s*([\"']\\\\\\w+[\"']);/s
请注意字符串的开头。/\\。
(双反斜杠)效果很好。

实际上它不起作用,但它为我指明了正确的方向-这意味着在添加和删除一些反斜杠后,我终于让它起作用了,结果是:/\(我的图标-[-\w]+):在\s*{\s*内容:\s*(['].\w+['])之前/s-出于某种原因,我不得不对内容代码使用五个反斜杠…谢谢,GR Vitally,实际上,regex101.com上有一个代码生成器,如果它在那里工作,它应该在您这边工作。我在开始时指出了所有这些双斜杠,正如您从代码片段中看到的,还有更多的反斜杠。。。