我正在为客户开发CMS,他需要编辑东西并使用特殊字符,如ç
和®
。但是,我不希望他必须输入像®
这样的字符代码。有谁知道使用PHP自动转换这些字符的好方法吗?将特殊字符转换为HTML字符代码
回答
您可以使用ヶ辆()来做到这一点。
php -r 'echo htmlentities("®ç", ENT_COMPAT, "UTF-8"), "\n";'
®ç
要打开实体回可读文本,使用html_entity_decode():
php -r 'echo html_entity_decode("®ç", ENT_COMPAT, "UTF-8"), "\n";'
®ç
如果你不使用Unicode,忽略字符集名称或给出正确的字符集。
+1用于指定编码。 – 2010-10-07 14:35:20
梦幻般的答案,解决了我几年来所遇到的问题。值得注意的是,当您将代码从操作系统移至操作系统时,提及复制粘贴或硬编码ALT KeyCode版本符号的其他答案将不起作用。 – 2012-09-14 03:54:18
使用Unicode,并告诉他如何&粘贴从字符映射表复制:-)
-1。这是什么答案? – 2010-10-07 14:23:03
@Alin如果客户端已经在使用像ç和®这样的字符,那么使用UTF-8(例如CMS的输入,存储和输出)将启用你不需要HTML实体。就像它在这个网页上做的那样,例如,我刚输入“®”,将它发送到网站,并且网站显示为“®” - 查看此页的源代码,在那里看不到一个HTML实体,只是真实的,真实的人物。 – 2010-10-07 14:27:28
@MattGibson一个问题是,如果您使用源代码管理,并且您将代码在基于Unix的操作系统和Windows操作系统之间来回移动。我已经学会了艰难的方式,ALT键码无法按照您希望它们跨操作系统的方式工作。 – 2012-09-14 03:08:50
最简单的办法是使用UTF-8从一开始。
但你也可以自动转换字符DOM:
$dom = new DOMDocument;
$dom->appendChild(new DOMText('© oui içi » '));
echo $dom->saveHtml();
输出
© oui içi »
看看htmlentities函数。这需要一个字符串并将组件字符转换为它们的HTML实体。您可以指定字符串的编码以与用户的输入保持一致。
谢谢!有用 :) – 2010-10-07 14:41:35
- 1. 使用php将特殊字符转换为html代码
- 2. 将html特殊字符转换为日文字符
- 3. 解析特殊字符并转换为HTML(转义字符串)
- 4. 使用php将特殊字符转换为ISO Latin-1代码?
- 5. 将字符串中的特殊字符转换为Unicode十六进制代码?
- 6. 上传文件 - 特殊字符转换为html字符?
- 7. Javascript/jQuery - 转换特殊的html字符
- 8. PHP代码字符串替换特殊字符删除字符
- 9. Javascript/jQuery:如何将字符串转换为HTML字符代码
- 10. 特殊字符转换字符串
- 11. XML/HTML特殊字符代码
- 12. Password中的特殊字符将URL转换为字符串
- 13. 将特殊字符转换为正常字符
- 14. 将特殊字符转换为字符串
- 15. Java - 如何将特殊字符转换为字符串
- 16. 将特殊字符转换为字符串
- 17. PHP:特殊字符转换
- 18. xmltextwriter转换特殊字符
- 19. Unicode特殊字符转换
- 20. 将特殊字符转换为HTML中的PHP
- 21. 防止rails将特殊字符转换为HTML实体
- 22. 如何将特殊字符转换为html?
- 23. 如何将Unicode特殊字符转换为html实体?
- 24. 使用特殊字符失败的iText将HTML转换为PDF
- 25. 如何将特殊字符转换为html实体?
- 26. PHP - 将特殊字符转换为HTML实体
- 27. 转换字符串中的HTML特殊字符
- 28. 转换为字符串,删除特殊字符和更换
- 29. 转换特殊字符为RTF
- 30. Html特殊字符
Err。只要确保你的字符编码是一致的(即全部使用UTF-8),并且你不需要将这些字符转换为完美显示。 – Quentin 2010-10-07 14:29:25