웹 개발에서 CSS 스타일 시트는 HTML 요소의 스타일을 편리하게 지정할 수 있는 필수적인 부분입니다. 그러나 때때로 큰 CSS 파일에서 특정 스타일을 추출해야 하는 경우 PHP의 정규식 기능을 사용하여 일치시킬 수 있습니다. 이 기사에서는 실제로 PHP 정규 표현식을 사용하여 CSS 스타일을 일치시키는 방법을 소개합니다.
먼저 CSS 스타일의 기본 구조를 살펴보겠습니다.
selector { property: value; property: value; }
기본 CSS 스타일은 선택기와 속성-값 쌍 세트로 구성됩니다. 선택기는 스타일을 적용해야 하는 HTML 요소를 지정하며 속성-값 쌍은 특정 스타일 설정입니다. CSS에서 속성과 값은 콜론 ":"으로 구분되며, 각 속성-값 쌍은 세미콜론 ";"으로 구분됩니다.
다음으로, PHP 정규식을 사용하여 CSS 스타일을 일치시키는 방법을 보여주는 예를 사용합니다.
다음 스타일을 포함하는 CSS 파일(style.css)이 있다고 가정합니다.
h1 { font-size: 24px; font-family: Arial, sans-serif; color: #333; } p { font-size: 16px; font-family: Helvetica, Arial, sans-serif; line-height: 1.4; color: #666; } .btn { display: inline-block; padding: 10px 20px; border: none; border-radius: 4px; font-size: 16px; font-weight: bold; text-transform: uppercase; background-color: #f00; color: #fff; }
이제 이 파일에서 모든 ".btn" 카테고리 스타일을 추출해야 합니다. PHP의 file_get_contents 함수를 사용하여 전체 파일 내용을 읽은 다음 preg_match_all 함수를 사용하여 일치시킬 수 있습니다.
// 读取样式文件内容 $css = file_get_contents('style.css'); // 匹配样式 $pattern = '/.btns*{([^}]+)}/'; preg_match_all($pattern, $css, $matches); // 输出匹配结果 print_r($matches[0]);
위 코드에서 먼저 file_get_contents 함수를 사용하여 스타일 파일의 내용을 읽고 해당 내용을 $css 변수에 저장합니다. 그런 다음 preg_match_all 함수를 사용하여 스타일을 일치시키고 생성된 정규식은 ".btns*{(1+)}"입니다.
마지막으로 일치하는 결과를 출력합니다.
위 코드를 실행하면 결과는 다음과 같습니다.
Array ( [0] => .btn { display: inline-block; padding: 10px 20px; border: none; border-radius: 4px; font-size: 16px; font-weight: bold; text-transform: uppercase; background-color: #f00; color: #fff; } )
결과에서 볼 수 있듯이 정규식은 ".btn" 카테고리의 스타일과 성공적으로 일치하고 전체 스타일 블록을 반환했습니다.
물론 속성-값 쌍을 추가로 추출할 수도 있습니다.
// 读取样式文件内容 $css = file_get_contents('style.css'); // 匹配样式 $pattern = '/.btns*{([^}]+)}/'; preg_match_all($pattern, $css, $matches); // 提取属性-值对 $pattern = '/([a-z-]+)s*:s*([^;]+);/'; foreach ($matches[1] as $block) { preg_match_all($pattern, $block, $props); print_r($props); }
위 코드에서는 또 다른 정규식 "([a-z-]+)s:s(2+);"을 사용하여 속성-값 쌍을 일치시킵니다.
위 코드를 실행하면 결과는 다음과 같습니다.
Array ( [0] => Array ( [0] => display: inline-block; [1] => padding: 10px 20px; [2] => border: none; [3] => border-radius: 4px; [4] => font-size: 16px; [5] => font-weight: bold; [6] => text-transform: uppercase; [7] => background-color: #f00; [8] => color: #fff; ) [1] => Array ( [0] => display [1] => padding [2] => border [3] => border-radius [4] => font-size [5] => font-weight [6] => text-transform [7] => background-color [8] => color ) [2] => Array ( [0] => inline-block [1] => 10px 20px [2] => none [3] => 4px [4] => 16px [5] => bold [6] => uppercase [7] => #f00 [8] => #fff ) )
결과에서 볼 수 있듯이 ".btn" 카테고리 스타일로 속성-값 쌍을 성공적으로 추출하고 결과를 $에 저장했습니다. props 배열의 첫 번째 및 두 번째 요소에 있는 속성 이름과 속성 값.
위의 예를 통해 우리는 PHP 정규식을 사용하여 CSS 스타일을 일치시키는 방법을 배웠습니다. 정규식을 구성하는 방법, 스타일 일치 및 속성 추출을 수행하는 방법에 대한 기본 기술은 모두 마스터했다고 믿습니다. 실제 개발에서는 다양한 스타일 처리 요구 사항을 충족하기 위해 필요에 따라 더 복잡한 일치 및 추출 작업을 수행할 수도 있습니다.
위 내용은 PHP 정규 표현식 작동: CSS 스타일 일치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!