>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하여 CSS 파일에서 \'postclass\'가 포함된 클래스 이름을 어떻게 추출할 수 있습니까?

PHP를 사용하여 CSS 파일에서 \'postclass\'가 포함된 클래스 이름을 어떻게 추출할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-26 04:18:271013검색

How Can I Extract Class Names Containing

PHP를 사용한 CSS 파일 구문 분석: 프로그래밍 방식

고급 CSS 조작을 위해서는 프로그래밍을 통한 구문 분석이 필수적입니다. PHP는 CSS 구문 분석을 위한 강력한 도구 세트를 제공하며 이 기사에서는 특정 하위 문자열이 포함된 클래스 이름을 추출하는 특정 기술을 자세히 설명합니다.

문제:

CSS가 주어진 경우 여러 클래스 선언이 있는 파일의 경우 목표는 이름에 "postclass"가 포함된 클래스 이름 배열을 검색하는 것입니다.

해결책:

PHP의 preg_match_all() 함수는 문자열의 정규식을 구문 분석할 수 있습니다. 다음은 이 작업을 수행하는 사용자 정의 정규식입니다.

<code class="php">/(#[a-z0-9]*?\ .?postclass.*?)\s?\{/g</code>

이 정규식은 해시(#)로 시작하고 그 뒤에 영숫자 문자, 점(.) 및 하위 문자열의 조합이 뒤따르는 모든 CSS 선언을 캡처합니다. "수업 후." 공백과 중괄호는 규칙 세트의 시작을 나타냅니다.

코드:

<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]);
        $selectors = explode(',', trim($selector));
        foreach ($selectors as $strSel) {
            if (strpos($strSel, 'postclass') !== false) {
                $result[] = $strSel;
            }
        }
    }
    return $result;
}</code>

사용법:

<code class="php">$arrayClasses = parse('cssfile.css');
print_r($arrayClasses); // Outputs: ['#content.postclass-subcontent', '#content2.postclass-subcontent2']</code>

이 접근 방식을 활용하면 개발자는 패턴을 기반으로 CSS 파일에서 특정 클래스 이름을 추출하여 PHP 스크립트 내에서 CSS 조작을 사용자 정의할 수 있습니다.

위 내용은 PHP를 사용하여 CSS 파일에서 \'postclass\'가 포함된 클래스 이름을 어떻게 추출할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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