最近把小站更新到v5.7 sp1版本,結(jié)果發(fā)現(xiàn)谷歌聯(lián)盟和百度聯(lián)盟的廣告都不能顯示。對比了一下之前版本的首頁源碼,發(fā)現(xiàn)更新后的系統(tǒng)中,廣告代碼雙引號(hào)前均多了一個(gè)反斜杠。在網(wǎng) 上搜了一下,沒有找到解決方法,只好自己排查,終于發(fā)現(xiàn)了問題所在。我在這里把解決方法分享出來,讓各位站長少走些彎路。
找到ad_add.php文件第30行,把這段代碼:
if($normbody['style']=='code')
{
$normbody = addslashes($normbody['htmlcode']);
}
改成如下代碼:
if($normbody['style']=='code')
{
$normbody = $normbody['htmlcode'];
}
注:addslashes函數(shù)會(huì)在指定的預(yù)定義字符前添加反斜杠,主要是對一些特殊字符進(jìn)行轉(zhuǎn)義。
修改完后保存,然后上傳到服務(wù)器,再添加的廣告就能正常顯示了。
因?yàn)榉葱备苁窃趶V告代碼插入到數(shù)據(jù)庫之前添加的,所以數(shù)據(jù)庫中之前添加的廣告代碼不會(huì)變(反斜杠依然存在)。只要把之前添加的廣告都刪除,然后重新添加就可以了。當(dāng)然,你也可以直接在數(shù)據(jù)庫中手工把每個(gè)廣告的反斜杠都去掉。
更多信息請查看IT技術(shù)專欄