Comments (3)
It’s not currently possible to do what you want. You can:
- Either use lenient mode (default), in which errors are silently ignored
- Or use strict parsing, which throws a UnexpectedTokenException on the first error it encounters (but stops parsing afterwards, since that’s how exceptions in PHP work).
I agree, though, that a modus operandi that logs errors but does not choke on them could be useful for certain scenarios.
from php-css-parser.
right - this would be nice
now I help myself counting the Declaration Blocks like this:
$oParser = new \Sabberworm\CSS\Parser($css);
$oCss = $oParser->parse();
$decBlocks = $oCss->getAllDeclarationBlocks();
if(count($decBlocks) > 0){
OK - go n
}
should work...
BTW: thanks for sharing this software
from php-css-parser.
Adding to the exception handling, I think it would be nice to provide the selector that the error occurred in for the exception message. For instance, on UnexpectedTokenExceptions you get something like:
Identifier expected. Got “/\00a”
Which can be difficult to debug to a user.
from php-css-parser.
Related Issues (20)
- Strict parsing mode exception with whitespace-only CSS
- @media block gives syntax error HOT 2
- issue with var on multiline HOT 1
- Selectors inside :not() not correctly parsed HOT 2
- Add a Dependabot configuration HOT 1
- @layer support
- GitHub releases page not up to date with tags (missing 8.4.0) HOT 1
- Update the GitHub runners to the latest Ubuntu LTS version HOT 1
- Add tests with SimonSapin/css-parsing-tests HOT 1
- Expressions are not being parsed HOT 3
- How to get comment HOT 1
- Fix undefined `$oRule` in `DeclarationBlock`
- Fix undefined `$oVal` in `CalcFunction`
- Add proper setters and getters to `OutputFormat`
- Make all `in_array` call strict
- Fix the `Size` constructor arguments in `DeclarationBlock`
- Can't composer update on Linux Ubuntu corrupt error HOT 6
- Allow rgb(R G B / A) notation
- Is there a way to render block wrapper with @media
- Add support for new viewport unit in Size class
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.