補(bǔ)充:http://www.cnblogs.com/tylerdonet/p/3483836.html
在html里有特殊意義的字符比如<党瓮,這種直接寫<那么久執(zhí)行了拐邪,瀏覽器會認(rèn)為是標(biāo)簽针贬,所以說應(yīng)該使用它對應(yīng)的實(shí)體,實(shí)體解析后顯示的是對應(yīng)字符烹困。
轉(zhuǎn)義:以反斜杠開頭的不可顯示的特殊字符通常稱為控制字符嫉称,也被稱為轉(zhuǎn)義字符。通過轉(zhuǎn)義字符可以在字符串中添加不可顯示的特殊字符灵疮,或者防止引號匹配混亂的作用织阅。加了反斜杠以后就只是用而不進(jìn)行顯示。通常加反斜杠還可以用來匹配特殊符號的實(shí)體 如'
php從后端返回的數(shù)據(jù)是實(shí)體名稱震捣,但是由于單引號的兼容問題(ie上不支持' )所以說單引號使用了實(shí)體的編號即'
在做#過濾的時候 需要先把'替換為'荔棉,防止誤傷闹炉。。润樱。
然后在最后的字符urlencode編碼的時候渣触,bingo防御直接的單引號(但是不防御實(shí)體或編碼),所以提前把單引號轉(zhuǎn)換為實(shí)體編號'
壹若,' 實(shí)體編號比實(shí)體名稱的好處就是嗅钻,幾乎所有瀏覽器都支持,而相對更好記的實(shí)體名稱方式店展,ie兼容有問題养篓。
竟然還有這種。赂蕴。柳弄。如果你的頁面是gbk,但是跳過去的另一個頁面是utf8概说,那么你需要下面這樣轉(zhuǎn)一下碧注。。
$t = urlencode(mb_convert_encoding($matchs[1], 'utf-8', 'gb2312'));