Ну Вы опять склоняете к тому, чт %author% - это переменная, но это не так. У Вас уже должна быть какая-нибудь переменная $author в которой содержится имя, вот с этой переменной и манипулируйте, и именно сореджимое этой переменной ($author) подставляется вместо %author%. Либо я не понял суть проблему и не могу объяснить, либо Вы что-то делаете не правильно, исходя из того, что по Вашей версии - %author% уже содержит какое-то значение, хотя по факту оно не может содержать, так как (еще раз повторяю) это не переменная и вообще, ни к какому-либо языку программирования не имеет отношения.
Mike Ro: Я все еще не понял, зачем это надо, но если только просто узнать количество символов в строке '%author%' - то например вот так - echo mb_strlen('%author%'); Выведет 8. Но если этот самый %author% находится в тексте, то его еще оттуда надо вытащить, тут уже нужны например регулярки. Но я даже не смогу придумать проблему, где это понадобилось бы )
Mike Ro: В том то и загвоздка, что все происходит наоборот. %author% ничего не содержит, оно заменяется реальным именем автора, которое берется например из БД.
Mike Ro: Тут важно понять, что %author% - это не переменная и, соответственно, у нее нет значений. Точно таким же способом, можно использовать и другие символы - /author/, ?author?, &author& и т.д. это не критично. Таким образом просто делают метки, которые заменяются на реальный текст. Пример конечно не очень, но предположим, в зависимости от региона пользователя, Вы хотите в каком то тексте указать телефон этого региона, чтобы не делать уникальный текст для каждого региона, делается так - 'бла бла бла %phone% бла бла бла'. После определения региона пользователя, Вы этот самый %phone% подменяете на реальный телефон этого региона.
Mike Ro: Давайте сначала уточним одно - чего Вы хотите добиться? Если Вы хотите получить переменную $author из %author% то что должно быть в значении этой переменной?
echo str_replace('%date%', date('d.m.Y'), $text) - так вывести, а насчет подсчета длины не понял - это надо посчитать количество символов в строке %date%?
C:/webserver/data/htdocs/site/www/_uploads/content/photo_02.png - вот таких путей не должно быть, путь должен быть либо абсолютным - localhost/project/images/img.jpg, либо относительным - /images/img.jpg Если нет к ним доступа, то вопрос решается через .htaccess
У Вас все же проблема остается "за кулисами". Вероятно, что-то лишьнее есть в сущностях. И непонятен вызов родительского конструктора в сущности Brand. Надо сгенерировать геттеры и сеттеры через консоль и на всякий случай, удалить кеш.