@license MIT License
depend liblary 以下のライブラリに依存しています。
-
document (ドキュメント)
OpenpearPEG Documentation http://nimpad.jp/phppeg/
-
source (ソース)
http://openpear.org/package/PEG -
OpenpearPEG install (PEGのインストール)
pear channel-discover openpear.org pear install openpear/PEG
- 引用符の文字列の回避
- IE bug:color gray bug
- support vendor prefix
- support css hacks. (cssハックは現在未対応です。) ** only underscore hack and asterisk hack.
- セレクタ、プロパティ、値などに含まれるコメントは無視しません。
- 「text-decoration : underline/**/overline;」は適切な内容ですが、 (「text-decoration : underline overline;」と解釈されます。) コメントを無視すると、「underlineoverline」という不明な値になってしまいます。 パーサでは、コメント部分をそのまま返しますが、 バリデータは適切に変換して処理します。
@charset "UTF-8";
@import url("style.css") screen , print;
@font-face {
src: local("Myfont"),url(Myfont.ttf);
}
@page :left {
margin-left: 4cm;
}
@media screen {
p {
font-size: 16px;
}
}
* #id.class>:link+:lang(ja) ,
div:first-line[attr]:before:after
{
font-size: 16px;
xxxxx-xxxx; /* unknown */
}
object(CssParser_Node)[973]
protected 'type' => string 'root' (length=4)
protected 'offset' => int 0
protected 'data' =>
array
0 =>
object(CssParser_Node)[950]
protected 'type' => string 'atRule' (length=6)
protected 'offset' => int 0
protected 'data' =>
array
'selector' =>
object(CssParser_Node)[948]
protected 'type' => string '@charset' (length=8)
protected 'offset' => int 0
protected 'data' => string '@charset' (length=8)
'value' =>
object(CssParser_Node)[949]
protected 'type' => string 'value' (length=5)
protected 'offset' => int 10
protected 'data' => string 'UTF-8' (length=5)
1 =>
object(CssParser_Node)[954]
protected 'type' => string 'atRule' (length=6)
protected 'offset' => int 18
protected 'data' =>
array
'selector' =>
object(CssParser_Node)[951]
protected 'type' => string '@import' (length=7)
protected 'offset' => int 18
protected 'data' => string '@import' (length=7)
'value' =>
object(CssParser_Node)[952]
protected 'type' => string 'value' (length=5)
protected 'offset' => int 26
protected 'data' => string 'url("style.css")' (length=16)
'mediaType' =>
object(CssParser_Node)[953]
protected 'type' => string 'mediaType' (length=9)
protected 'offset' => int 43
protected 'data' => string 'screen , print' (length=14)
2 =>
object(CssParser_Node)[958]
protected 'type' => string 'atRule' (length=6)
protected 'offset' => int 59
protected 'data' =>
array
'selector' =>
object(CssParser_Node)[955]
protected 'type' => string '@font-face' (length=10)
protected 'offset' => int 59
protected 'data' => string '@font-face' (length=10)
'block' =>
array
0 =>
array
'property' =>
object(CssParser_Node)[956]
protected 'type' => string 'property' (length=8)
protected 'offset' => int 73
protected 'data' => string 'src' (length=3)
'value' =>
object(CssParser_Node)[957]
protected 'type' => string 'value' (length=5)
protected 'offset' => int 78
protected 'data' => string 'local("Myfont"),url(Myfont.ttf)' (length=31)
'isImportant' => boolean false
3 =>
object(CssParser_Node)[962]
protected 'type' => string 'atRule' (length=6)
protected 'offset' => int 113
protected 'data' =>
array
'selector' =>
object(CssParser_Node)[959]
protected 'type' => string '@page' (length=5)
protected 'offset' => int 113
protected 'data' => string '@page :left' (length=11)
'block' =>
array
0 =>
array
'property' =>
object(CssParser_Node)[960]
protected 'type' => string 'property' (length=8)
protected 'offset' => int 128
protected 'data' => string 'margin-left' (length=11)
'value' =>
object(CssParser_Node)[961]
protected 'type' => string 'value' (length=5)
protected 'offset' => int 141
protected 'data' => string '4cm' (length=3)
'isImportant' => boolean false
4 =>
object(CssParser_Node)[970]
protected 'type' => string 'atRule' (length=6)
protected 'offset' => int 148
protected 'data' =>
array
'selector' =>
object(CssParser_Node)[963]
protected 'type' => string '@media' (length=6)
protected 'offset' => int 148
protected 'data' => string '@media screen' (length=13)
'value' =>
array
0 =>
array
'selector' =>
object(CssParser_Node)[967]
protected 'type' => string 'selector' (length=8)
protected 'offset' => int 165
protected 'data' => string 'p' (length=1)
'block' =>
array
0 =>
array
'property' =>
object(CssParser_Node)[968]
protected 'type' => string 'property' (length=8)
protected 'offset' => int 171
protected 'data' => string 'font-size' (length=9)
'value' =>
object(CssParser_Node)[969]
protected 'type' => string 'value' (length=5)
protected 'offset' => int 182
protected 'data' => string '16px' (length=4)
'isImportant' => boolean false
5 =>
object(CssParser_Node)[972]
protected 'type' => string 'ruleSet' (length=7)
protected 'offset' => int 193
protected 'data' =>
array
'selector' =>
object(CssParser_Node)[964]
protected 'type' => string 'selector' (length=8)
protected 'offset' => int 193
protected 'data' => string '* #id.class>:link+:lang(ja) ,
div:first-line[attr]:before:after' (length=63)
'block' =>
array
0 =>
array
'property' =>
object(CssParser_Node)[965]
protected 'type' => string 'property' (length=8)
protected 'offset' => int 260
protected 'data' => string 'font-size' (length=9)
'value' =>
object(CssParser_Node)[966]
protected 'type' => string 'value' (length=5)
protected 'offset' => int 271
protected 'data' => string '16px' (length=4)
'isImportant' => boolean false
1 =>
object(CssParser_Node)[971]
protected 'type' => string 'unknown' (length=7)
protected 'offset' => int 278
protected 'data' => string 'xxxxx-xxxx; /* 宣言の形を成していないもの */
' (length=64)
- PEAR を基準
以下を除外
PEAR.NamingConventions.ValidFunctionName
PEAR.Commenting.FileCommentSniff
--tab-width=4 -v -n --sniffs=PEAR.Files.LineLength,PEAR.Files.IncludingFile,PEAR.Files.LineEndings,PEAR.Classes.ClassDeclaration,PEAR.WhiteSpace.ScopeClosingBrace,PEAR.WhiteSpace.ScopeIndent,PEAR.WhiteSpace.ObjectOperatorIndent,PEAR.Commenting.FunctionComment,PEAR.Commenting.InlineComment,PEAR.Functions.FunctionCallSignature,PEAR.Functions.FunctionCallArgumentSpacing,PEAR.Functions.FunctionDeclaration,PEAR.Functions.ValidDefaultValue,PEAR.ControlStructures.InlineControlStructure,PEAR.ControlStructures.ControlSignature,PEAR.ControlStructures.MultiLineCondition,PEAR.Formatting.MultiLineAssignment,PEAR.NamingConventions.ValidClassName,PEAR.NamingConventions.ValidVariableName ${resource_loc}