>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하여 CSS 파일에서 \'postclass\'를 포함하는 클래스 이름을 추출하는 방법은 무엇입니까?

PHP를 사용하여 CSS 파일에서 \'postclass\'를 포함하는 클래스 이름을 추출하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-29 21:40:02874검색

How to Extract Class Names Containing

PHP를 활용하여 CSS 파일 구문 분석

질문: PHP를 사용하여 CSS 파일을 효과적으로 구문 분석하고 특히 "postclass"가 포함된 클래스 이름을 추출하는 방법은 무엇입니까? "?

CSS에서:

#stuff {
    background-color: red;
}

#content.postclass-subcontent {
    background-color: red;
}

#content2.postclass-subcontent2 {
    background-color: red;
}

원하는 PHP 출력:

arrayentry1:
#content.postclass-subcontent
arrayentry2:
#content2.postclass-subcontent2

답변:

<code class="php">function parse($file){
    $css = file_get_contents($file);
    preg_match_all( '/(?ims)([a-z0-9\s\.\:#_\-@,]+)\{([^\}]*)\}/', $css, $arr);
    $result = array();
    foreach ($arr[0] as $i => $x){
        $selector = trim($arr[1][$i]);
        $rules = explode(';', trim($arr[2][$i]));
        $rules_arr = array();
        foreach ($rules as $strRule){
            if (!empty($strRule)){
                $rule = explode(&quot;:&quot;, $strRule);
                $rules_arr[trim($rule[0])] = trim($rule[1]);
            }
        }
        
        $selectors = explode(',', trim($selector));
        foreach ($selectors as $strSel){
            $result[$strSel] = $rules_arr;
        }
    }
    return $result;
}</code>

다음과 같이 사용할 수 있습니다:

<code class="php">$css = parse('css/'.$user['blog'].'.php');
$css['#selector']['color'];</code>

위 내용은 PHP를 사용하여 CSS 파일에서 \'postclass\'를 포함하는 클래스 이름을 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.