存數(shù)據(jù)的時(shí)候,需要對(duì)字符串進(jìn)行addslashes
10年積累的成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有張北免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
()進(jìn)行操作$str=addslashes($str);$sql="insert
into
`tab`
(`content`)
values('$str')";去除數(shù)據(jù)的時(shí)候操作如下$str=stripslashes($str);在頁(yè)面顯示時(shí)進(jìn)行如下操作$str=htmlspecialchars(nl2br($str))
;
查看原帖
在為wordpress后臺(tái)添加統(tǒng)計(jì)代碼控制功能時(shí),發(fā)現(xiàn)凡是提交到數(shù)據(jù)庫(kù)的內(nèi)容中只要是帶有單引號(hào)或者雙引號(hào)的內(nèi)容時(shí),后面都會(huì)增加一個(gè)反斜杠。而且每保存一次增加一個(gè)反斜杠,很是郁悶。
從網(wǎng)上搜了一下原來(lái)是PHP程序?yàn)榱朔乐棺⑷牖蛘咭绯?,通過(guò)PHP 指令 magic_quotes_gpc自動(dòng)在雙引號(hào)、單引號(hào)、反斜杠、NULL前面添加反斜杠“”。
統(tǒng)計(jì)代碼中自然是會(huì)帶有很多反斜杠的內(nèi)容,這時(shí)候就要去掉添加的反斜杠。
默認(rèn)PHP 指令 magic_quotes_gpc是on的,也就是打開(kāi)的。這時(shí)候就可以用stripslashes() 函數(shù)刪除自動(dòng)添加的反斜杠。用法就是:比如包含字符串的變量是$str,那么就用stripslashes() 函數(shù)處理一下這個(gè)字符串:stripslashes($str),輸出的結(jié)果就是去掉反斜杠的。
于是我就把讀取的字符串內(nèi)容用stripslashes()函數(shù)處理一下,即$value=stripslashes($str),再保存。上傳網(wǎng)站之后正常了。
但是又出現(xiàn)另外一個(gè)問(wèn)題,那就是因?yàn)楸镜豍HP 指令 magic_quotes_gpc是off的,如果用這個(gè)函數(shù)的話(huà),就會(huì)把本來(lái)正常的反斜杠也去掉了。這樣就不是我們所希望的了。
解決辦法就是可以使用函數(shù) get_magic_quotes_gpc() 進(jìn)行檢測(cè),如果是打開(kāi)的狀態(tài),那么就去除反斜杠,如果是關(guān)閉的狀態(tài),則不去除反斜杠。
程序代碼如下:
$str=$_POST["str"];//讀取str的內(nèi)容賦值給$str變量
if(get_magic_quotes_gpc())//如果get_magic_quotes_gpc()是打開(kāi)的
{
$str=stripslashes($str);//將字符串進(jìn)行處理
}
對(duì)指定的函數(shù)進(jìn)行修改于測(cè)試,發(fā)現(xiàn)斜杠不會(huì)再繼續(xù)添加了。
本篇轉(zhuǎn)自轉(zhuǎn)載: 品味人生
可以用php中的函數(shù):addslashes()函數(shù)用來(lái)將字符長(zhǎng)假如斜線(xiàn)'\'
stripslashes()函數(shù)用來(lái)把a(bǔ)ddslashes()函數(shù)轉(zhuǎn)義后的字符串返回原樣