Строка 106 из cssparser.php
говорит:
list($codekey, $codevalue) = explode(":",$code);
explode()
генерирует ошибку Неопределенное смещение .Это означает, что анализируемый файл css где-то содержит недопустимый оператор и отсутствует :
.Разнесение не может найти :
в $code
.
Теперь это всего лишь предположение (вы не предоставили фактический файл .css), но файл может содержать недопустимое содержимое, напримерВот это:
.classdefinition {
color #000000;
}
Между color
и #000000
отсутствует :
.
Не думаю, что комментарий - это проблема, на первый взгляд, класспозаботится о том, чтобы их пропустить.
Попробуйте передать файл css через валидатор CSS .
Если синтаксис CSS в порядке, значит класс содержит ошибку.
Теперь, если у нас обоих одинаковая (последняя) версия cssparser.php
, быстрый патч будет заменить строки 106-109 на:
$arr = explode(":", $code);
if (count($arr) == 2 && strlen(trim($arr[0])) > 0 && strlen(trim($arr[1])) > 0) {
$this->css[$key][trim($arr[0])] = trim($arr[1]);
}
Но опять же, это не гарантируетневерный CSS будет проанализирован правильно, и этот класс не содержит ошибок.
И помните, что я на самом деле не тестировал и не работал с классом, все, что здесь предлагается, это просто посмотреть на код, который вы разместили, икод класса.
Позже отредактируйте:
При быстром поиске в Google яound PHP-CSS-Parser , который выглядит более полным и надежным и размещен на Github (чтобы другие могли внести в него свой вклад).
Другое редактирование:
Также отметьте этот ответ здесь, выглядит достаточно просто, но, как говорит автор, не обрабатывает комментарии внутри селекторов.
Надеюсь, это помогло.