пробуйте попробуйте такой вариат:
$val->text = preg_replace("/(\s){3,}/i", "", $val->text);
такое наследование возможно. например:
// абстрактная книга abstract class AbstractBook { abstract function getAuthor(); abstract function getTitle(); } // абстрактная книга по MYSQL abstract class AbstractMySQLBook extends AbstractBook { private $subject = "MySQL"; }
пример взят отсюда
Порождающие паттерны нужны чтобы абстрагировать процесс инстацирования
Далее переходим к абстрактной фабрике
пройдёмся по всем пунктам
паттерн, порождающий объекты.
Предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых объектов, не специфицируя их конкретных классов.
Kit (инструментарий).
Довольно полным описание будет если упомянуть такие пункты:
вот описание на примере абстрактной фабрики
Инстацирование - это создание экземпляра класса. На диаграмма обозначаться может например так.
жмём правой кнопкой мыши на папку в которой был этот файл или на сам проект (структура проект слева) - там выбираем:
Local History -> Show History
потом выбираем нужный "момент" (опять же - левая часть нового окна - там будет секция Deleted) и жмём стрелочку отката)
по-идее значения иметь не должен...