【发布时间】:2014-05-26 15:40:15
【问题描述】:
我有获取 CSS 代码选择器的模式,它们是 .classes、#ids 和 html 标签。我使用preg_match 将它们排序到一个数组中,只是选择器的名称。
发生的事情是我只得到了第一个选择器两次,一次带有打开的括号,另一次没有。
这是$contect:
body{ color: black; } .class_class { color: #fff; font: tahoma; } #awesome_id{ }
这是结果:
Array
(
[0] => body{
[1] => body
)
这是代码:
<?php
#Patterns
$selectors = "/(\.?\#?-?[_a-zA-Z]+[_a-zA-Z0-9-]*\s*)\{/";
#Sort
preg_match($selectors, $content, $_selectors);
?>
<pre>
<?php
print_r($_selectors);
?>
</pre>
我想要的-根据内容-结果是这样的
Array
(
[0] => body
[1] => .class_class
[2] => #awesome_id
)
【问题讨论】:
-
考虑使用 DOM 解析器。