2017-01-23 44 views
1

我需要從任何可能的後期值中刪除雙引號。目前,我有這樣的代碼:

array_walk($_POST, create_function('&$val', '$val = str_replace(chr(34), chr(39), $val);'));  

的問題是預期它不工作。因此,如果後輸入框被設置爲以下貼的時候......

「測試

產生的交變運行的陣列,而不是走之後,我得到包含斜槓CHR!?! IE瀏覽器...

A \」測試

而不是

的檢驗

任何人都可以提出什麼是怎麼回事?

回答

0

該代碼正在做你所要求的,用'代替"

刪除"改變你的代碼

array_walk($_POST, create_function('&$val', '$val = str_replace(chr(34), "", $val);')); 

它取代了"沒事

演示:http://ideone.com/FBIWkW

+0

嗨nogad,問題是斜線。那是爲什麼? – AdamJones

+0

你的代碼沒有這樣做,我建議你可以在服務器上啓用舊的和危險的「魔術引號」http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes- gpc – nogad

+0

不,我正在使用最近的php v7沒有魔術引號。這很奇怪,即使我刪除了我的報價字符串,用你的建議替換爲「」,我仍然會得到這個斜線。所以現在我看到:A \ Test – AdamJones