我正在爲客戶開發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