>백엔드 개발 >PHP 문제 >PHP 파일의 스타일을 CSS 스타일 시트로 변환하는 방법

PHP 파일의 스타일을 CSS 스타일 시트로 변환하는 방법

PHPz
PHPz원래의
2023-03-27 16:16:23777검색

PHP 파일은 CSS 스타일 시트를 내보냅니다. CSS 스타일 시트는 웹 개발에서 HTML 문서의 레이아웃 및 표시 효과를 제어하는 ​​데 사용되는 스타일 정의 언어입니다. 웹사이트 개발에서 우리는 PHP 파일의 스타일 정의를 별도의 CSS 스타일 시트로 변환해야 하는 상황에 자주 직면합니다. 수동 작업으로 작업을 완료할 수 있지만 PHP 파일의 코드 양이 많으면 수동 변환은 매우 시간이 많이 걸리고 지루해집니다.

그럼, PHP 파일의 스타일 정의를 별도의 CSS 스타일 시트로 쉽게 변환할 수 있는 간단한 방법이 있습니까? 기본 아이디어 PHP 파일에서 스타일 정의는 일반적으로 HTML 문서의 `c9ccee2e6ea535a969eb3f532ad9fe89` 태그에 포함됩니다. 예:

<!DOCTYPE html>
<html>
<head>
<title>Sample Page</title>
<style type="text/css">
body {
background-color: #F8F9FA;
font-family: Arial, sans-serif;
}
h1 {
color: #424242;
font-size: 28px;
font-weight: bold;
}
</style>
</head>
<body>
<h1>Hello World!</h1>
<p>This is a sample page.</p>
</body>
</html>

이 코드에서 `c9ccee2e6ea535a969eb3f532ad9fe89` 태그에는 페이지의 스타일 정의가 포함됩니다.

이러한 정의를 CSS 스타일 시트로 변환하려면 다음 기본 아이디어를 따를 수 있습니다.

1. 정규 표현식과 같은 기술을 사용하여 PHP 파일에서 모든 스타일 정의를 추출합니다.

2. 태그 이름과 클래스 이름에 따라 스타일 정의를 분류하고 CSS 스타일 규칙으로 구성합니다.

3. 정리된 스타일 규칙을 독립적인 CSS 스타일 시트 파일에 작성합니다. 특정 구현 먼저 변환하려는 PHP 파일을 읽으려면 PHP를 사용해야 합니다. 이 파일이 `sample.php`라고 가정하면 다음 코드를 사용하여 파일 내용을 읽을 수 있습니다.

$phpfile = &#39;sample.php&#39;;
$phpcontent = file_get_contents($phpfile);

다음으로 정규식을 사용하여 PHP 파일의 모든 스타일 정의를 추출해야 합니다. 다음 코드는 `(.*?)` 정규식을 사용하여 `c9ccee2e6ea535a969eb3f532ad9fe89`과 `531ac245ce3e4fe3d50054a55f265927` 사이의 모든 항목을 일치시킵니다.

preg_match_all("/<style type=\"text\/css\">(.*?)<\/style>/s", $phpcontent, $styles);

추출된 스타일 정의는 `$styles[1] `에 저장됩니다. 배열에서. 이제 스타일 정의를 CSS 스타일 규칙으로 구성할 수 있습니다. 다음 코드는 태그 이름과 클래스 이름에 따라 스타일 정의를 CSS 스타일 규칙으로 구성하고 `$cssrules` 배열에 규칙을 저장합니다.

$cssrules = array();
foreach ($styles[1] as $style) {
    preg_match_all(&#39;/([\w\s.#{}:,%_-]*)\{([^\}]*)\}/&#39;, $style, $matches, PREG_SET_ORDER);
    foreach ($matches as $match) {
        $selectors = preg_split(&#39;/,\s*/&#39;, $match[1], -1, PREG_SPLIT_NO_EMPTY);
        $props = preg_split(&#39;/;\s*/&#39;, $match[2], -1, PREG_SPLIT_NO_EMPTY);
        foreach ($selectors as $selector) {
            $selector = trim($selector);
            if(!isset($cssrules[$selector])) {
                $cssrules[$selector] = array();
            }
            foreach ($props as $prop) {
                list($prop, $value) = explode(&#39;:&#39;, $prop);
                $cssrules[$selector][trim($prop)] = trim($value);
            }
        }
    }
}

마지막으로 구성된 스타일 규칙을 독립적인 CSS 스타일 시트 파일에 작성할 수 있습니다. 가운데. 다음 코드는 `file_put_contents()` 함수를 사용하여 `style.css`라는 파일에 스타일 규칙을 작성합니다.

$cssfile = &#39;style.css&#39;;
file_put_contents($cssfile, &#39;&#39;);
foreach ($cssrules as $selector => $props) {
    $line = $selector . " {\n";
    foreach ($props as $prop => $value) {
        $line .= "\t" . $prop . &#39;: &#39; . $value . ";\n";
    }
    $line .= "}\n";
    file_put_contents($cssfile, $line, FILE_APPEND);
}

이로써 PHP 파일의 스타일 정의를 CSS 스타일로 변환하는 작업이 완료되었습니다. 시트.

요약

웹사이트 개발에서는 PHP 파일의 스타일 정의를 별도의 CSS 스타일 시트로 변환하는 것이 매우 일반적인 요구 사항입니다. 이 작업은 수동으로 수행할 수 있지만 PHP 파일의 코드 양이 많을 경우 수동 변환은 매우 시간이 많이 걸리고 번거롭습니다. 이 문서에서는 개발자가 개발 효율성을 높이고 개발 오류를 줄이는 데 도움이 될 수 있는 PHP 파일의 스타일 정의를 CSS 스타일 시트로 신속하게 변환하는 방법을 소개합니다.

위 내용은 PHP 파일의 스타일을 CSS 스타일 시트로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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