Comments (2)
Thanks for your feedback.
As you can see in the readme, “Adopt lenient parsing rules” is on the to-do list. Currently, however, the CSS Parser only parses standard-compliant CSS.
You’re welcome to add a patch, though. I think a reasonable strategy could be to catch exceptions in the parser’s parseRule
method and advance the parser to after the next line break or semicolon, or before the next closing curly bracket (whichever comes first) and return null
. We’d then have to change every consumer of parseRule
(I think parseRuleSet
is the only one) to not fail when parseRule
returns null
.
from php-css-parser.
We could add a safe mode to ignore non-compliant css instead of throwing exception. These way to work are present in most parsers I know.
Ultimately, avoid to end with parsing code for compliant rules mixed up with specific fix. Although, I really think that this is the only one non-compliant approach that should really be considered as it is present in nearly every css file.
I will consider your idea, and will give you feedback in a few, I'll be quite busy this weekend.
from php-css-parser.
Related Issues (20)
- Add contrubutor guidelines
- Provide an interface for `RuleSet|CSSList|Import|Charset` HOT 1
- Provide an interface for `CSSList|Rule|RuleSet|Value`
- Provide an interface for `AtRuleBlockList|KeyFrame|Charset|CSSNamespace|Import|AtRuleSet|DeclarationBlock`
- Provide an interface for `AtRuleBlockList|KeyFrame|Charset|CSSNamespace|Import|AtRuleSet` HOT 1
- Provide an interface for `CSSList|RuleSet`
- Provide an interface for `RuleValueList|CSSFunction|CSSString|LineName|Size|URL`
- Link the relevant specs/docs from the README
- Set up the infrastructure for class aliases HOT 1
- Fixer does not want EOL at end of empty class/interface HOT 1
- Color names not working with ExpandShorthands HOT 12
- Drop `expandShorthands`/`createShorthands`/`create*Shorthand`/`expand*Shorthand`
- Deprecate/deactivate `expandShorthands`/`createShorthands`/`create*Shorthand`/`expand*Shorthand` HOT 2
- Model named colors as `Color` instances instead of strings HOT 3
- Automate creation of the UML diagram
- Update the `gh-pages` branch with the API documentation whenever we push to `main`
- Add support for CSS Nesting
- Use the development PHP INI on CI
- Switch the code covera to Coveralls
- Add a GitHub Action that comments on pull requests if tests are missing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-css-parser.