У меня есть вопрос о HTML декодирования.
Я использую плагин WordPress для управления формами. Формулировка включает в себя название сайта.
На этой неделе была ошибка в специальных символах, & знак показывался в почтовом ящике как &
, Я исправил это, используя html specialcharacters decode, который работал отлично.
Позже оказалось, что была похожая ошибка с '
знак. Очевидно, html_specialcharacersdecode не работает с этим, поэтому я попробовал также html_entities_decode, который также не работает для '
знак.
Другие знаки прекрасно расшифрованы, такие как < > () : -=+
так что я не знаю, в чем проблема. Я просто хочу '
показывать как '
а не как '
,
Мой код:
function before_email( $email ) {
$subject = htmlspecialchars_decode($email['subject']);
$subject = html_entity_decode($subject);
$email['subject'] = '$subject';
return $email;
}
Мой конкретный вопрос: есть ли что-то, что я здесь упускаю? Может быть, какая-то функция похожа на те, что я пробовал, или что-то не так?
Спасибо!
Ты можешь использовать,
$subject = html_entity_decode($subject, ENT_QUOTES);
Однако я бы посоветовал не использовать кодировку HTML, прежде чем вставлять ее в базу данных. Просто закодируйте его, когда вы выводите его. Лучше просто хранить необработанные данные в базе данных.
Других решений пока нет …