은 내가 CSS 속성에서 크기 얻을 수있는 정규 표현식을 썼다 :CSS 속성의 크기 값을 가져 오는 정규식?
/(([+-]?\d*\.?\d+(\s)*(px|em|ex|pt|in|pc|mm|cm)?)|thin|medium|thick)(\s|;|$)/i
을하지만 의도 한대로 어떤 이유로 자사가 작동하지 않습니다. 그것은 출력
preg_match_all('/(([+-]?\d*\.?\d+(\s)*(px|em|ex|pt|in|pc|mm|cm)?)|thin|medium|thick)(\s|;|$)/i',
"border-bottom:1px solid #99999;", $matches);
:
1px
99999;
을하지만 난 단지 1 픽셀의 값을 돌려 원하는 예를 들어, 내가 실행하면 다음과 같습니다.
나는 왜 그 위의 반환하지만 색상 값이 아닌 크기를 반환하는 방법을 알아낼 수없는 것 이해합니다. 나는 다음과 같은 부정적인 lookbehind를 사용하여 시도했지만 역시 작동하지 않습니다 :
/(((?<!#\d{3}|#\d{6})[+-]?\d*\.?\d+(\s)*(px|em|ex|pt|in|pc|mm|cm)?)|thin|medium|thick)(\s|;|$)/i
내가 여러 크기 값 (즉, 마진)를 가질 수 그 CSS의 속성으로, preg_match_all 사용하고 싶습니다.
누구나이 정규식으로 크기 값만 반환하는 방법에 대한 아이디어가 있습니까?
도움 주셔서 감사합니다.
[CSS Parser] (https://github.com/sabberworm/PHP-CSS-Parser)를 사용하십시오. HTML 같은 CSS 아마 정규식으로 구문 분석해서는 안된다. –