2011-05-31 31 views

回答

2

你可以用这个衬垫来做到这一点。

  1. 将字符串拆分成适当的数组。
  2. 迭代字符得到他们的序数值。
  3. 加入实体模式。
echo '&#' . join(';&#', array_map('ord', str_split($str))) . ';'; 

CodePad

此外,你说过你想将字符转换为它们的十六进制等值,但是没有一个值看起来像是十六进制,除非是巧合,在你的例子中没有a-f

+0

感谢堆,男人!升级并接受! – 2011-05-31 01:59:40

2

有几种方法。一个是

join('', array_map(create_function('$c', 'return "&#".ord($c).";";'), str_split($string))); 
2

捎带上亚历克斯/失范的回答,得到完整的Unicode支持,你可以使用包在http://hsivonen.iki.fi/php-utf8/做:

'&#' . join(';&#', utf8ToUnicode($str) . ';' 
+0

支持UTF-8的+1。 – alex 2011-05-31 02:00:10

相关问题