You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅允许包含指定关键词的Joomla Convert Forms表单提交

解决方案:修改Convert Forms自定义PHP代码实现仅允许指定关键词提交

把原来的禁用词拦截逻辑改成允许词验证逻辑只需要调整判断方向,修改后的代码如下:

// 定义允许提交的关键词列表
$allowed_words = [
  'apple',
  'banana',
  'orange'
];

// 指定要检查的表单字段名称(和你表单里的字段名保持一致)
$field_name = 'text';

// 验证失败时的提示信息
$error_message = '请输入指定的关键词才能提交表单。';

// 标记是否匹配到允许的关键词
$is_valid = false;

// 遍历关键词列表,检查用户输入是否包含其中任意一个
foreach($allowed_words as $word)
{
  // stripos不区分大小写,若需区分可替换为strpos
  if (stripos($post[$field_name], $word) !== false)
  {
    $is_valid = true;
    break; // 找到匹配项后直接终止循环,提升效率
  }
}

// 若未匹配到任何允许关键词,阻止表单提交
if (!$is_valid)
{
  throw new Exception($error_message);
}

额外说明

  • 如果需要严格完全匹配(用户输入必须和关键词完全一致,不能只是包含),可以将判断条件替换为:
    // 忽略大小写和前后空格的完全匹配
    if (trim(strtolower($post[$field_name])) === strtolower($word))
    
  • 记得把$allowed_words里的内容替换成你实际需要的关键词,$field_name要和表单中对应字段的名称完全一致。

内容的提问来源于stack exchange,提问作者burf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 09:12:13