2017-03-04 5 views
1

BootStrap 기반 전자 메일을 보내려고하지만 전자 메일이 외부 CSS를 지원하지 않기 때문에 필요한 CSS 만 <style>....css....code....</style>으로 포함해야하지만 어쨌든 테이블 CSS 코드 만 추출 할 수 있는지 알고 싶습니다. BootStrap CSS 파일에서 CSS 코드 부분을 수동으로 수집 할 필요가 없습니다.스타일 시트에서 사용 된 CSS 만 추출 할 수 있습니까?

예를 들어 특정 HTML 요소의 CSS를 모두 수집하는 경우와 마찬가지로 하위 CSS 요소 만 복사하는 경우처럼 테이블 CSS 코드 만 복사 하시겠습니까 ???

내가으로 PHP를 통해 검색 : 당신은 부트 스트랩을 축소 된 사용하지 않을 경우

<?php 

$bootstrap = file_get_contents("bootstrap.min.css"); 

$explode = explode("}", $bootstrap); 

for ($i=0; $i < count($explode); $i++) { 
    if (strpos($explode[$i],".table") !== false) { 
     echo $explode[$i]."}</br></br>"; 
    } 
} 


?> 
+0

아마 HTML 형식의 전자 메일의 기반 부트 스트랩을 사용하는 것은 좋지 않습니다. 일부 일반 전자 메일 클라이언트의 HTML 렌더링 엔진에서 버그를 처리하도록 설계되지 않았습니다. – Quentin

+0

하나의 요소에 대해서는'window.getComputedStyle (ele)'이 있지만 자식 요소에는 그렇지 않습니다. – zer00ne

+0

불행히도 어려운 위치에 있습니다. 제기 된 질문 ("사용 된 CSS 만 스타일 시트에서 추출 할 수 있습니까?")은 훌륭하고 주제가 있습니다 (그래도 여전히 자신의 시도를 게시하고 왜/실패했는지 설명하는 것이 바람직합니다). 불행하게도 부트 스트랩은 외부에서 호스팅되고 스타일링 전자 메일의 (많은, * 많은 *) 문제를 해결하기 위해 설계되지 않았기 때문에 답변을 얻지 못하는 경우가 있기 때문에 권장하지 않습니다. 그리고 당신이 질문을 "어떤 도서관을 추천합니까?" 그 질문은 즉시 주제를 벗어나 그 자체로 끝날 것입니다. –

답변

0

, PHP 솔루션은 다음과 같습니다

$regex = "/.*(table|tr|td)([^\}]+)}/"; 
$bootstrap = //here goes bootstrap string 
preg_match($regex,$bootstrap, $matches); 

그런 다음, $ 일치 당신이 원하는 모든 스타일에 배열 될 것입니다 . (table|tr|td) 부분에 원하는 것을 추가하고이를 예를 들어 (table|tr|td|th|tbody)으로 변경할 수 있습니다. 더 문서를 참조하십시오

: https://secure.php.net/manual/function.preg-match.php

+1

정규 표현식을 사용하여이 작업을 수행 할 수는 있지만 정규 표현식을 사용하여 * 구현할 수있는 방법 *을 표시하여 OP 및 향후 방문자에게 유용한 답변으로이 설명을 변환해야합니다. –

+0

당신은

'에 대한 PHP에서 정규 표현식을 쓸 수'그리고'모든 자식 요소의 '등 그) –

+0

그냥 편집 한 내 대답은, 확인하시기 바랍니다 누가 질문/답변 자체의 작성자가 아니 었는지 알기 위해 시스템이 @와 그 이름을 입력해야 시스템이이를 알립니다. –

관련 문제