Я пытаюсь преобразовать объекты HTML из исходной строки в их эквивалент буквенного символа.
Например:
<?php $string = "Hello – World"; $converted = html_entity_decode($string); ?>
Хотя это правильно преобразует объект на экран, когда я смотрю на HTML-код, он все еще показывает явный объект. Мне нужно изменить это так, чтобы он буквально преобразовывал объект, поскольку я не использую строку в HTML-странице.
Любые идеи о том, что я делаю неправильно?
FYI Я отправляю преобразованную строку в службу уведомлений Apple Push:
$payload['aps'] = array('alert' => $converted, 'badge' => 1, 'sound' => 'default'); $payload = json_encode($payload);
–
отображает символ UTF-8 (em dash), поэтому вам нужно указать UTF-8 в качестве кодировки символов:
$converted = html_entity_decode($string, ENT_COMPAT, 'UTF-8');
Попробуйте использовать кодировку
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <?php $string = "Hello – World"; $converted = html_entity_decode($string , ENT_COMPAT, 'UTF-8'); echo $converted; ?>
Это должно работать, и оно должно быть преобразовано также в источник