Преобразование частей к объектам HTML

Если вас беспокоит тип или поведение возвращаемого класса, вам действительно следует определить интерфейс для этого:

interface KeyInterface 
{
    public function getKey(): ?string;
    public function getValidTill(): ?string;
}

Затем анонимный класс реализует интерфейс:

public function getApi(): KeyInterface
{
    $api = $this->api ?: [];
    return new class ($api) implements KeyInterface
    ...
}

Анонимные классы могут по-прежнему реализовывать интерфейсы и наследоваться от других классов.

7
задан Tom 7 April 2009 в 10:09
поделиться

4 ответа

Можно использовать htmlentities () функция. Это заменит все специальные символы их HTML-эквивалентом. Это должно сделать задание Ваш требовать.

Хороший вопрос btw, +1.

2
ответ дан 7 December 2019 в 12:24
поделиться

htmlentities.

Но Вы, вероятно, не должны. Служите своей странице в кодировании, которое включает их (UTF-8, ISO-8859-1), и можно включать тех, которые как литеральные, незавершенные символы.

2
ответ дан 7 December 2019 в 12:24
поделиться

Ответ уже дан: используйте htmlentities () . Кроме того, было предложено использовать UTF-8, что, конечно, является действительно хорошей идеей. Однако, если вы планируете использовать htmlentities () для строк UTF-8, используйте следующий код (или вы получите странно закодированные символы):

htmlentities($str, ENT_COMPAT, 'UTF-8')

Как вы можете себе представить, это отстой, если добавить второй и третий аргумент все время. Для большинства проектов мне нужно htmlentities () , в итоге я пишу функцию ярлыка, то есть:

function he($str) { // shortcut function for htmlentities() with UTF-8 settings
 return htmlentities($str, ENT_COMPAT, 'UTF-8');
}
1
ответ дан 7 December 2019 в 12:24
поделиться

попробуйте htmlentities ()

0
ответ дан 7 December 2019 в 12:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: