Automattic\WooCommerce\Vendor\Sabberworm\CSS\Value

CSSString::parsepublic staticWC 1.0

Method of the class: CSSString{}

No Hooks.

Returns

CSSString.

Usage

$result = CSSString::parse( $oParserState );
$oParserState(ParserState) (required)
.

CSSString::parse() code WC 10.7.0

public static function parse(ParserState $oParserState)
{
    $sBegin = $oParserState->peek();
    $sQuote = null;
    if ($sBegin === "'") {
        $sQuote = "'";
    } elseif ($sBegin === '"') {
        $sQuote = '"';
    }
    if ($sQuote !== null) {
        $oParserState->consume($sQuote);
    }
    $sResult = "";
    $sContent = null;
    if ($sQuote === null) {
        // Unquoted strings end in whitespace or with braces, brackets, parentheses
        while (!preg_match('/[\\s{}()<>\\[\\]]/isu', $oParserState->peek())) {
            $sResult .= $oParserState->parseCharacter(false);
        }
    } else {
        while (!$oParserState->comes($sQuote)) {
            $sContent = $oParserState->parseCharacter(false);
            if ($sContent === null) {
                throw new SourceException(
                    "Non-well-formed quoted string {$oParserState->peek(3)}",
                    $oParserState->currentLine()
                );
            }
            $sResult .= $sContent;
        }
        $oParserState->consume($sQuote);
    }
    return new CSSString($sResult, $oParserState->currentLine());
}