>  기사  >  백엔드 개발  >  PHP를 사용하여 CSS 파일에서 특정 정보를 어떻게 추출할 수 있나요?

PHP를 사용하여 CSS 파일에서 특정 정보를 어떻게 추출할 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-10-28 06:44:01565검색

How can I extract specific information from CSS files using PHP?

PHP로 CSS 파일 구문 분석

CSS 파일 작업 시 특정 정보를 구문 분석하고 추출하는 기능을 갖는 것이 도움이 될 수 있습니다. 특정 문자열을 포함하는 클래스 이름과 같은 것입니다. PHP를 사용하여 이를 달성하기 위해 프로그래밍 포럼의 한 사용자는 다음과 같은 솔루션을 고안했습니다.

해결책:

이 솔루션에는 "parse( )" CSS 파일을 인수로 사용합니다. 이 함수는 정규식을 사용하여 파일의 모든 CSS 규칙을 일치시키고 선택기와 규칙을 배열로 추출합니다. 결과는 각 키가 선택기(예: "#content")이고 해당 값이 해당 선택기에 대한 규칙 배열인 연관 배열입니다.

코드 구현:

<br>함수 구문 분석($file){</p>
<pre class="brush:php;toolbar:false">$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;

}

사용 예:

이 함수를 사용하려면 CSS 파일에 대한 경로를 전달하여 호출하고 다음과 같이 결과 연관 배열에 액세스합니다.

<br>$css =parse( 'css/'.$user['blog'].'.php');<br>$css'#selector';<br>

이러한 방식으로 CSS 파일을 구문 분석합니다. , 요구 사항에 따라 특정 스타일 규칙에 쉽게 액세스하고 조작할 수 있습니다.

위 내용은 PHP를 사용하여 CSS 파일에서 특정 정보를 어떻게 추출할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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