dispatch(); if (!$dispatch) { return; } if (!$request->module() || $request->module() !== 'admin') { return; } $config = get_addon_config('betterform'); //在head前引入CSS $content = preg_replace("/<\/head>/i", "" . "\n\$0", $content); //如果不存在表单 if (!preg_match('/
标签 $regex = '/]*class\s*=\s*"[^"]*\bform-group\b[^"]*"[^>]*>(?:(?!]*class\s*=\s*"[^"]*\bform-group\b[^"]*").)*?data-rule="[^"]*?(required|checked)[^"]*?"[^>]*>/si'; $result = preg_replace_callback($regex, function ($matches) use ($config) { return str_replace("form-group", "form-group required-{$config['asteriskposition']}", $matches[0]); }, $content); $content = is_null($result) ? $content : $result; // 匹配 $pattern = '/(]*>)\s*]*>(.*?)<\/td>\s*]*>.*?]*data-rule="[^"]*required[^"]*"[^>]*>.*?<\/td>\s*<\/tr>/si'; $result = preg_replace_callback($pattern, function ($matches) use ($config) { if (preg_match('/(]*)class\s*=\s*"[^"]*"/i', $matches[1])) { return preg_replace('/(]*)class\s*=\s*"([^"]*)"/i', '$1class="$2 required-' . $config['asteriskposition'] . '"', $matches[0]); } else { return str_replace("getConfig(); $config['area'] = preg_match("/\[(.*?)\]/i", $config['area']) ? array_slice(array_values((array)json_decode($config['area'], true)), 0, 2) : $config['area']; $config['shade'] = floatval($config['shade']); $config['shadeClose'] = boolval($config['shadeClose']); $params['betterform'] = $config; } }