我正在编写一个函数,它从 中获取内容$_POST,将其插入到一个字符串中,然后返回结果字符串
对于“你最喜欢的颜色是什么?”这个问题。用户输入blue
问题“你最喜欢的动物是什么?” 用户输入dog
$content = "The visitor's favorite color is {color}";
$content = sentenceBuilder($content);
$content = "The visitor's favorite animal is a {animal}";
$content = sentenceBuilder($content);
function sentenceBuilder($content){
global $_POST;
foreach($_POST as $key => $value){
if($key=='color'){
$content = preg_replace("/\{($key+)\}/", $value, $content);
}
if($key=='animal'){
$content = preg_replace("/\{($key+)\}/", $value, $content);
}
}
return $content;
}
Run Code Online (Sandbox Code Playgroud)
这将返回“访客最喜欢的颜色是蓝色”和“访客最喜欢的动物是狗”。如果他们将颜色元素留空,则返回“访客最喜欢的颜色是”和“访客最喜欢的动物是狗”。如果他们将两个元素都留空,则返回 2 个不完整的句子。
所以,我试图修改它说如果$value是空的,该函数将跳过它并移动到下一个(因为它使用在 $_POST 中移动的每个表单元素)......
if($key=='color' && $value!=''){
$content = preg_replace("/\{($key+)\}/", $value, $content);
}else{
$content ='';
}
if($key=='animal' …Run Code Online (Sandbox Code Playgroud)