$message=$this->filter($_POST['suggestion']);
protected function filter($mail)
{
if(strpos($mail,"<") !== false)
{
$mail = "message entered is invalid";
}
else
{
$mail = $mail;
}
return $mail;
}
当然我在这里做错了,但如果$_POST["suggestion"]
包含“&lt;”然后它应该返回我预定义的消息。它不起作用:无论“&lt;”如何,它总是返回相同的消息在哪里。
答案 0 :(得分:0)
见:
<?
function filter($mail)
{
if(strpos($mail,"<")!==false)
{
$mail="message entered is invalid";
}
return $mail;
}
echo filter("something");
echo filter("some < thing");
?>
您不需要else
部分。其余的代码工作正常。
!==
部分没关系!见:http://php.net/manual/es/function.strpos.php
答案 1 :(得分:0)
你可以使用preg_match
function filter($mail)
{
if(preg_match("/</", $mail))
{
$mail="message entered is invalid";
}
return $mail;
}