Преобразовать все символы в эквивалентный или десятичный HTML - PullRequest
1 голос
/ 31 мая 2011

Есть ли способ, которым я могу преобразовать ВСЕ символы, включая обычные, используя PHP, во что-то вроде этого:

& é à ç <</p>

Когда я говорю обычные символы, я имею в виду такие символы как «ABCD123! @ # $» И т. Д.

Возможно ли это? Спасибо заранее!

Ответы [ 3 ]

2 голосов
/ 31 мая 2011

Есть несколько способов. Одним из них является

join('', array_map(create_function('$c', 'return "&#".ord($c).";";'), str_split($string)));
2 голосов
/ 31 мая 2011

В ответ на ответ Алекса / Аноми, чтобы получить полную поддержку Юникода, вы можете использовать пакет на http://hsivonen.iki.fi/php-utf8/, чтобы сделать:

'&#' . join(';&#', utf8ToUnicode($str) . ';'
2 голосов
/ 31 мая 2011

Вы можете сделать это с этим одним вкладышем.

  1. Разделить строку на правильный массив.
  2. Итерировать по символам, получая их порядковый номер.
  3. Присоединиться кшаблон сущности.
echo '&#' . join(';&#', array_map('ord', str_split($str))) . ';';

CodePad .

Также вы сказали, что хотите преобразовать символы в их шестнадцатеричный эквивалент, но ни одно из ваших значенийкажется шестнадцатеричным, если это не совпадение и в вашем примере просто нет a-f.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...