2017-01-23 49 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