我为我的网站制作了一个转换特殊字符的函数,以防有人试图使用冒号,分号,单引号或双引号来突破系统。我创建了一个find数组,它是str_replace
中的find变量,并且会更改要交换的内容。
$find = array('"','\'','<3');
$change = array('"',''','♥');
$str = "This is a test ' " <3.";
$str = str_replace($find, $change, $str);
echo $str;
它确实打印了像&amp; quot这样的代码,据说它应该以双引号(“)的形式回显。我刷新了页面。它仍在回显实际的代码。
任何帮助?
答案 0 :(得分:2)
您的代码有效,但您必须注意字符串中的PHP引号:
$find = array('"','\'','<3');
$change = array('"',''','♥');
$str = "This is a test ' \" <3.\""; // look at this line
$str = str_replace($find, $change, $str);
echo $str;
这很有效。看到它有效:http://phpfiddle.org/lite?code=