在htmlentities中,如何選擇性地對符號進行編碼,以便它不編碼標籤的<
和>
,但是編碼是&
?PHP htmlentities
回答
嘗試這樣:
$string = htmlentities($string);
$string = str_replace(array('<','>'), array('<', '>'), $string);
在官方文檔,htmlentities和str_replace
err ...在第二個例子中,你忘記了一個參數 – thejh 2010-11-05 21:05:00
哇,那不得不被編輯..謝謝。 – 2010-11-05 21:16:41
@Col它看起來像原來的帖子想要使用htmlentities編碼除< and > – 2010-11-05 21:17:47
你沒有得到一個「部分編碼」選項;如果您想要轉義或不轉義特定字符,您將不得不手動完成。例如做你說什麼你想:
str_replace('>', '>', str_replace('<', '<', htmlentities($s)))
什麼是你想要做的,儘管它?以上看起來不太可能有用。標記中的"
字符仍然會被轉義,從而損壞屬性值。
htmlentities
也普遍存在問題,因爲除非您專門爲它提供正確的字符集參數,否則它會將字符串中的任何非ASCII字符壓入錯誤的HTML實體引用。通常使用htmlspecialchars()
會更好,它隻影響真正特殊且需要在HTML中轉義的少數字符。
如果你想要做的就是跳過&
這個字符,你可以用一個簡單的str_replace('&', '&', $s)
來做到這一點,但是它仍然會取代作爲有效實體或字符引用一部分的&符號。你確定要這麼做嗎?你只是想修復不正確使用的非轉義符號嗎?如果是這樣,你可以嘗試一個正則表達式來選擇任何使用不是有效的實體/字符引用的&
。
- 1. php htmlentities corrupt string
- 2. php htmlentities解碼textarea
- 3. php htmlentities($ str)與jQuery?
- 4. PHP htmlentities不工作
- 5. 特定元素的PHP HTMLEntities
- 6. PHP htmlentities報價問題
- 7. PHP&mySQL:何時使用htmlentities?
- 8. php編碼問題htmlentities
- 9. 如何使用PHP htmlentities()?
- 10. htmlentities mysql_real_escape_string
- 11. JSON htmlentities javascript
- 12. 用HTMLENTITIES轉義
- 13. jQuery - JavaScript等價於PHP的htmlentities()函數
- 14. PHP的htmlentities函數不編碼★星號
- 15. <?php echo htmlentities($ _ SERVER ['PHP_SELF']); ?>以
- 16. 在PHP中解碼文件的htmlentities
- 17. Htmlentities vs addslashes vs mysqli_real_escape_string
- 18. HtmlEntities和Zend TextArea
- 19. strip_tags和htmlentities
- 20. htmlentities()與htmlspecialchars()
- 21. htmlentities和é(e急)
- 22. htmlentities變量不起作用
- 23. HTML左雙引號,htmlentities
- 24. 如何要用htmlentities顯示
- 25. 前置&符合到htmlentities
- 26. DOMDocument:loadHTML()正在轉換htmlentities
- 27. javascript display htmlentities標記
- 28. Youtube iframe解碼爲htmlentities
- 29. htmlspecialchars + htmlentities不起作用
- 30. 更改mysql中的htmlentities
你在說「。:;,!?」嗎?如果是這樣,你爲什麼要編碼他們?或者你在談論引號? – thejh 2010-11-05 20:57:18
1.永不使用htmlentities。 2.不要編碼'<' and '>','''和引號旁邊的任何內容。 – 2010-11-05 20:59:59
這個問題的正確解決方案很可能是「忘記編碼實體,並確保您聲明您使用的字符編碼」:http://www.w3.org/International/O-charset – Quentin 2010-11-05 21:00:13