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

时间:2016-03-26 05:35:10

标签: 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'; } /* '' */
.my-icon-printer:before { content: '\e827'; } /* '' */

我在regex101.com中尝试了下面的正则表达式模式并且它工作正常 - 看到它工作here,返回类名及其内容代码,但是当我尝试使用preg_match_all从PHP执行相同操作时,它什么都不匹配。

\.(my-icon-\w+):before\s*{\s*content:\s*(["']\\\w+["']);

这是我的PHP代码,希望你们中的一位RegEx大师可以帮助我解决这个问题。

$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文件内容。

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

1 个答案:

答案 0 :(得分:1)

select COlumnC,sum(COlumnB) from
(
select distinct COlumnA,COlumnB,COlumnC
from Table1
) 
Group by COlumnC

注意字符串/\\.(my-icon-\\w+):before\\s*{\\s*content:\\s*([\"']\\\\\\w+[\"']);/s 的开头  (双反斜杠),它工作正常。