小编Zac*_*ner的帖子

在提交之前清除通过 $_POST 传递的值的函数

我正在编写一个函数,它从 中获取内容$_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)

php function preg-replace

1
推荐指数
1
解决办法
140
查看次数

标签 统计

function ×1

php ×1

preg-replace ×1