加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 正则表达式匹配CSS类名称

发布时间:2020-12-13 18:09:18 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试编写一个匹配有效的CSS类名结构的正则表达式.到目前为止我有这个: $pattern = "([A-Za-z]*.[A-Za-z]+s*{)";$regex = preg_match_all($pattern,$html,$matches); 但是,类名可以采用我的正则表达式不匹配的以下格式: p.my_class{}p.thisclas45{}
我正在尝试编写一个匹配有效的CSS类名结构的正则表达式.到目前为止我有这个:
$pattern = "([A-Za-z]*.[A-Za-z]+s*{)";

$regex = preg_match_all($pattern,$html,$matches);

但是,类名可以采用我的正则表达式不匹配的以下格式:

p.my_class{
}
p.thisclas45{
}

这些只是一些情况,我环顾四周找到了如何在样式块中命名类但无法找到任何内容的规则.任何人都知道类命名约定的规则在哪里?

我还需要考虑更多的案例吗?你会用什么正则表达式来匹配一个类名?

我已经使用PHP DOM Document类将其缩小为样式块.

看看 http://www.w3.org/TR/CSS21/grammar.html#scanner

根据这个语法和Which characters are valid in CSS class names/selectors?之后,这应该是扫描css类的正确模式:

.-?[_a-zA-Z]+[_a-zA-Z0-9-]*s*{

注意:标记名称不需要作为css中类的前缀. Just .hello {border:1;也是有效的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读