我正在爲客戶開發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代碼C#
- 4. 將html特殊字符轉換爲日文字符
- 5. 將法國字符轉換爲HTML特殊字符
- 6. 將字符串轉換特殊字符
- 7. 蟒蛇:轉換爲HTML特殊字符
- 8. 使用javascript將特殊字符轉換回HTML實體代碼
- 9. JSON響應特殊字符轉換爲實體代碼HTML
- 10. 解析特殊字符並轉換爲HTML(轉義字符串)
- 11. 使用php將特殊字符轉換爲ISO Latin-1代碼?
- 12. 將字符串中的特殊字符轉換爲Unicode十六進制代碼?
- 13. 如何通過PHP將特殊字符轉換爲html字?
- 14. python將特殊字符轉換爲轉義字符
- 15. 上傳文件 - 特殊字符轉換爲html字符?
- 16. 字符轉換爲特殊符號
- 17. Javascript/jQuery - 轉換特殊的html字符
- 18. 在ASP.NET中轉換HTML特殊字符
- 19. 在excel中轉換html特殊字符
- 20. PHP代碼字符串替換特殊字符刪除字符
- 21. Javascript/jQuery:如何將字符串轉換爲HTML字符代碼
- 22. PHP轉換特殊字符「&」單字符
- 23. 特殊字符轉換字符串
- 24. 解碼HTML特殊字符
- 25. XML/HTML特殊字符代碼
- 26. PYTHON - 將特殊字符轉換爲字符串
- 27. 將特殊字符轉換爲字符串
- 28. Java - 如何將特殊字符轉換爲字符串
- 29. 如何將字符串轉換爲特殊字符
- 30. 將字符串轉換爲有特殊字符
Err。只要確保你的字符編碼是一致的(即全部使用UTF-8),並且你不需要將這些字符轉換爲完美顯示。 – Quentin 2010-10-07 14:29:25