我已经尝试了大约2个小时,但我找不到错误。变量从html表单传递到此页面,我正在尝试为单词“hospitol”创建一个过滤器,并将其重新拼写为“hospital”。错误可能是微不足道的,但我找不到它。非常感谢任何帮助。
<?php
if ($_POST["location"] == "hospitol")
function convertSpace($string){
return str_replace("Hospitol", "Hospital", $string);
}
$string = $_POST["location"];
echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));
else
$location=$_POST["location"];
?>
apache记录的错误;
PHP Parse error: syntax error, unexpected T_STRING, expecting '(' in
home/linux/public/job_scheduler_input_check.php on line 5, referer:
http://localhost/calendar.php
注意:apache引用的行不正确,因为我从较大的文件中取出它。
答案 0 :(得分:2)
此代码的结构方式不正确,您在一行条件后定义了一个函数。为清晰起见,您应使用{}括号以正确包围您的陈述。该函数也应该在开头定义。
<?php
function convertSpace($string){return str_replace("Hospitol", "Hospital", $string);}
if ($_POST["location"] == "hospitol")
{
$string = $_POST["location"];
echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));
}
else
{
$location=$_POST["location"];
}
?>
答案 1 :(得分:1)
你的{}在哪里开始关闭if else条件的标签? 你的syantax错了。应该是
<?php
if ($_POST["location"] == "hospitol") {
function convertSpace($string){return str_replace("Hospitol", "Hospital", $string);
$string = $_POST["location"];
echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace")); }
else {
$location=$_POST["location"];
}
?>
答案 2 :(得分:0)
我认为你不能在if语句中声明一个函数。使用{}作为if并移出函数。
答案 3 :(得分:0)
<?php
if ($_POST["location"] == "hospitol") {
function convertSpace($string){
return str_replace("Hospitol", "Hospital", $string);
}
$string = $_POST["location"];
echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));
}
else
$location=$_POST["location"];
?>
答案 4 :(得分:0)
请检查您是否有条件,这是错误的,即使在条件下调用函数也不是一个好习惯。