# Удаление CSS класса в классе Tag

Давайте теперь реализуем удаление CSS класса. Для этого было бы удобно иметь вспомогательный метод, который будет удалять элемент из массива по тексту этого элемента. В PHP, к сожалению, нет такой встроенной функции, поэтому реализуем ее в виде приватного метода:

`<?php private function removeElem($elem, $arr) { $key = array_search($elem, $arr); // находим ключ элемента по его тексту array_splice($arr, $key, 1); // удаляем элемент return $arr; // возвращаем измененный массив } ?>`

Используя метод `removeElem` мы теперь можем реализовать метод `removeClass` для удаления CSS классов. Реализуем:

`<?php public function removeClass($className) { if (isset($this->attrs['class'])) { $classNames = explode(' ', $this->attrs['class']); if (in_array($className, $classNames)) { $classNames = $this->removeElem($className, $classNames); $this->attrs['class'] = implode(' ', $classNames); } } return $this; } ?>`

Самостоятельно реализуйте описанный метод и добавьте его в ваш класс `Tag`. Проверьте его работу, например, так:

`<?php echo (new Tag('input')) ->setAttr('class', 'eee zzz kkk') // добавим 3 класса ->removeClass('zzz') // удалим класс 'zzz' ->open(); // выведет <input class="eee kkk"> ?>`
← →
↑