{% else-1 %}
Конвертирует значение ASCII в символьные сущности, работая с символами за пределами ASCII и символами MS Word которые могут вызвать проблемы при использовании на веб-странице, так что они могут быть безопасно показаны на странице или сохранены в базу данных. Существует определенная зависимость между настройками сервера и поддерживаемыми символами, поэтому на эту функцию нельзя полагаться на 100%. Тем не менее основная часть символов за пределами стандартного диапазона должна определяться корректно. Пример:
$string = ascii_to_entities($string);

                        
function ascii_to_entities($str)
{
$count = 1;
$out = '';
$temp = array();

for ($i = 0, $s = strlen($str); $i < $s; $i++)
{
$ordinal = ord($str[$i]);

if ($ordinal < 128)
{
/*
If the $temp array has a value but we have moved on, then it seems only
fair that we output that entity and restart $temp before continuing. -Paul
*/
if (count($temp) == 1)
{
$out .= '&#'.array_shift($temp).';';
$count = 1;
}

$out .= $str[$i];
}
else
{
if (count($temp) == 0)
{
$count = ($ordinal < 224) ? 2 : 3;
}

$temp[] = $ordinal;

if (count($temp) == $count)
{
$number = ($count == 3) ? (($temp['0'] % 16) * 4096) + (($temp['1'] % 64) * 64) + ($temp['2'] % 64) : (($temp['0'] % 32) * 64) + ($temp['1'] % 64);

$out .= '&#'.$number.';';
$count = 1;
$temp = array();
}
}
}

return $out;
}
}
0 121 0
Без комментариев...