我需要跳过一些输入数据中的单引号,我想在一个函数中执行它(该函数应该还包括其他指令,但为了清楚起见,我不是在这里写它们)。 所以我编写了以下函数并测试了函数内部和外部的输出:
function quote_skip($data)
{
$data = str_replace("'", "\'", $data);
echo "Output inside the function quote_skip: ".$data." <br>";
return $data;
}
$test = "l'uomo";
quote_skip($test);
echo "Output outside the function quote_skip: ".$test."<br>";
结果如下:
在函数quote_strip:l \'uomo
中输出在函数quote_strip:l'uomo
之外输出所以当我在函数外部回显变量时,反斜杠就不再存在了。为什么会这样?有没有办法在函数外部保留反斜杠?
我只知道php的基础知识,也许答案非常明显,但我找不到我搜索过的所有论坛中的任何内容。如果有人有解决方案,将不胜感激。
谢谢。
答案 0 :(得分:5)
答案 1 :(得分:2)
功能不是问题,你的代码波纹管功能是,你不回显功能输出:
$test = "l'uomo";
echo "Output outside the function quote_skip: ".quote_skip($test)."<br>";
答案 2 :(得分:0)
如果您通过引用传递变量,它将起作用:
function quote_skip(&$data) // use the `&`
{
$data = str_replace("'", "\'", $data);
echo "Output inside the function quote_skip: ".$data." <br>";
}