¥
立即购买

PHP表单数据处理专家

0 浏览
0 试用
0 购买
Dec 10, 2025更新

本提示词专为PHP开发者设计,提供专业级的表单数据处理解决方案。通过精确的方法选择、数据类型定义和安全验证机制,能够生成高质量、安全的PHP代码。支持多种应用场景,包括用户注册、数据查询、文件上传等,确保代码的准确性和安全性,同时提供清晰的技术文档和最佳实践建议,帮助开发者快速实现功能并避免常见安全漏洞。

代码实现

<?php

declare(strict_types=1);

/**
 * POST: 接收并严格验证字符串参数 `prompt`
 * 要求:
 * - 仅允许 POST 方法
 * - 参数必须是字符串且非空(去除首尾空白后)
 * - UTF-8 合法编码
 * - 禁止包含控制字符(允许 \n \r \t)
 * - 长度限制(字符数 1..2000,字节数 <= 8192)
 * 
 * 返回:
 * - JSON 响应(success/error),并附带验证后的安全数据或错误信息
 * 
 * 注意:
 * - 本示例只做数据层面的验证与规范化,不对数据库/HTML/命令行等上下文做具体转义。
 * - 如需在 HTML 中输出,请使用 htmlspecialchars 进行上下文转义(见下方示例)。
 */

// 配置区(可按需调整)
const PROMPT_MIN_LENGTH_CHARS = 1;
const PROMPT_MAX_LENGTH_CHARS = 2000;
const PROMPT_MAX_LENGTH_BYTES = 8192;
const RESPONSE_CHARSET        = 'UTF-8';

// 推荐的 HTTP 安全响应头
header('Content-Type: application/json; charset=' . RESPONSE_CHARSET);
header('X-Content-Type-Options: nosniff');
header('Referrer-Policy: no-referrer');
header('Cache-Control: no-store');

// 将 PHP 错误转为异常,便于统一处理(可选)
set_error_handler(static function (int $severity, string $message, string $file, int $line): void {
    if (!(error_reporting() & $severity)) {
        return;
    }
    throw new ErrorException($message, 0, $severity, $file, $line);
});

try {
    enforceRequestMethod('POST');

    // 确保参数存在且不是数组(防止多值注入)
    if (!array_key_exists('prompt', $_POST)) {
        throw new HttpException(400, 'Missing required parameter: prompt');
    }
    $raw = $_POST['prompt'];

    if (!is_string($raw)) {
        // 例如 prompt[]=a 这种会成为数组
        throw new HttpException(400, 'Invalid type for "prompt": expected string');
    }

    // 规范化与严格校验
    $prompt = validateAndNormalizePrompt($raw);

    // 成功响应(示例中返回已验证/规范化后的值与长度信息)
    jsonResponse(200, [
        'success' => true,
        'data' => [
            'prompt' => $prompt,
            'length' => [
                'chars' => mb_strlen($prompt, RESPONSE_CHARSET),
                'bytes' => strlen($prompt),
            ],
        ],
    ]);
} catch (HttpException $e) {
    jsonResponse($e->getCode(), [
        'success' => false,
        'error' => [
            'code' => $e->getCode(),
            'message' => $e->getMessage(),
        ],
    ]);
} catch (Throwable $e) {
    // 未预期错误:避免暴露具体堆栈信息
    jsonResponse(500, [
        'success' => false,
        'error' => [
            'code' => 500,
            'message' => 'Internal Server Error',
        ],
    ]);
}

/**
 * 仅允许指定的请求方法
 */
function enforceRequestMethod(string $expectedMethod): void
{
    $method = $_SERVER['REQUEST_METHOD'] ?? '';
    if (strcasecmp($method, $expectedMethod) !== 0) {
        // 明确告知允许的方法
        header('Allow: ' . strtoupper($expectedMethod));
        throw new HttpException(405, 'Method Not Allowed');
    }
}

/**
 * 验证并规范化 prompt 字段
 */
function validateAndNormalizePrompt(string $value): string
{
    // 去除 UTF-8 BOM
    $value = stripUtf8Bom($value);

    // 初步修剪空白(不移除内部空白)
    $value = trim($value);

    // 空值校验
    if ($value === '') {
        throw new HttpException(422, 'Prompt must not be empty');
    }

    // UTF-8 编码合法性校验
    if (!mb_check_encoding($value, RESPONSE_CHARSET)) {
        throw new HttpException(422, 'Prompt must be valid UTF-8 text');
    }

    // 可选:进行 Unicode 规范化(NFC),依赖 intl 扩展
    if (function_exists('normalizer_is_normalized') && function_exists('normalizer_normalize')) {
        if (!normalizer_is_normalized($value, Normalizer::FORM_C)) {
            $value = normalizer_normalize($value, Normalizer::FORM_C) ?: $value;
        }
    }

    // 拒绝控制字符(允许 \n \r \t)
    if (preg_match('/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/u', $value) === 1) {
        throw new HttpException(422, 'Prompt contains disallowed control characters');
    }

    // 长度限制(字符数)
    $lenChars = mb_strlen($value, RESPONSE_CHARSET);
    if ($lenChars < PROMPT_MIN_LENGTH_CHARS) {
        throw new HttpException(422, 'Prompt is too short');
    }
    if ($lenChars > PROMPT_MAX_LENGTH_CHARS) {
        throw new HttpException(422, 'Prompt is too long');
    }

    // 长度限制(字节数,防滥用/DoS)
    $lenBytes = strlen($value);
    if ($lenBytes > PROMPT_MAX_LENGTH_BYTES) {
        throw new HttpException(413, 'Prompt exceeds allowed byte size');
    }

    // 可选的额外约束(示例:禁止 NUL 字节)
    if (strpos($value, "\0") !== false) {
        throw new HttpException(422, 'Prompt contains null bytes');
    }

    // 如需进一步限制字符集,可启用如下白名单示例(根据业务调整)
    // if (preg_match('/^[\p{L}\p{N}\p{P}\p{Zs}\r\n\t]+$/u', $value) !== 1) {
    //     throw new HttpException(422, 'Prompt contains unsupported characters');
    // }

    return $value;
}

/**
 * 去除 UTF-8 BOM
 */
function stripUtf8Bom(string $s): string
{
    if (strncmp($s, "\xEF\xBB\xBF", 3) === 0) {
        return substr($s, 3);
    }
    return $s;
}

/**
 * 统一 JSON 响应
 */
function jsonResponse(int $statusCode, array $payload): void
{
    http_response_code($statusCode);
    $json = json_encode(
        $payload,
        JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES
    );

    // 理论上不会失败;如失败,返回兜底的 JSON
    if ($json === false) {
        $fallback = json_encode(
            ['success' => false, 'error' => ['code' => 500, 'message' => 'Encoding Error']],
            JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES
        ) ?: '{"success":false,"error":{"code":500,"message":"Encoding Error"}}';
        echo $fallback;
        return;
    }

    echo $json;
}

/**
 * 用于可控的 HTTP 异常
 */
final class HttpException extends RuntimeException
{
}

方法说明

  • 使用 $_POST 接收数据:根据请求方法为 POST,按规范直接从 $_POST 获取参数,更贴合传统表单提交与大多数后端框架的工作方式。相比 $_GET,POST 更适合传输较长文本和敏感数据(仍需加密传输)。
  • 严格类型与结构校验:
    • 明确要求 prompt 存在且为字符串;避免 prompt[]=... 造成参数被当作数组的情况。
    • 去除 BOM、trim 首尾空白,防止隐形字符干扰。
    • 使用 mb_check_encoding 确保 UTF-8 合法性,必要时用 intl 扩展做 Unicode 标准化(NFC)。
  • 安全过滤与约束:
    • 拒绝控制字符(除 \n \r \t),避免潜在的协议/日志污染。
    • 限制字符与字节长度,既满足业务需要,也防止滥用(DoS 风险)。
    • 不对内容做上下文无关的“消毒”(如盲目移除标签),而是在输出阶段按目标上下文进行转义(例如 HTML 使用 htmlspecialchars,SQL 使用参数化)。
  • 错误处理:
    • 使用 HttpException 实现清晰的错误流,统一 JSON 响应。
    • 对未预期异常隐藏内部细节,避免信息泄漏。
  • 响应头与状态码:
    • 设置 Content-Type、nosniff、no-store 等安全头。
    • 对应不同错误场景返回合适的 HTTP 状态码(400/405/413/422/500 等)。

安全建议

  • 始终使用 HTTPS 传输,防止明文泄露。
  • CSRF 防护:表单提交应带 CSRF Token,并在后端进行校验;API 可采用双重提交 Cookie、SameSite Cookie 或使用 Authorization 头。
  • XSS 防护:输出到 HTML 时使用 htmlspecialchars($s, ENT_QUOTES|ENT_SUBSTITUTE, 'UTF-8');输出到属性/URL/JS 等上下文应使用对应的安全编码策略。
  • SQL 注入防护:使用 PDO 或 mysqli 的预处理语句与参数绑定,绝不拼接用户输入。
  • 速率限制与体量限制:结合反爬/速率限制(如基于 IP 的速率限制)与 post_max_size、max_input_vars 等配置,降低滥用风险。
  • 日志与审计:记录失败的验证与关键操作,注意对敏感数据做脱敏。
  • 输入正则/白名单策略:根据业务进一步限制字符集或模式,降低意外输入的处理复杂度。

使用示例

  • curl 调用

  • HTML 表单示例(提交到同一 PHP 脚本)

  • 在 HTML 中安全输出(例如服务端渲染页面)

    ' . $safeHtml . '';
  • 数据库写入(PDO 参数化示例)

    prepare('INSERT INTO prompts (content) VALUES (:content)'); $stmt->bindParam(':content', $validatedPrompt, PDO::PARAM_STR); $stmt->execute();

扩展建议

  • 引入 CSRF 校验:在会话中存储 token,表单附带隐藏域提交,并在服务端比对;或改用 Authorization 方案。
  • 采用 PSR-7/PSR-15:用 Symfony HttpFoundation、Laminas Diactoros 或 Slim 等获取请求与构建响应,获得更一致的中间件式架构。
  • 抽象验证层:将 validateAndNormalizePrompt 抽象为可复用的 Validator,支持多字段、多规则组合与统一错误消息国际化。
  • 配置化策略:将长度限制、字符白名单、是否启用 Unicode 规范化等迁移到配置文件或环境变量,便于不同环境调整。
  • 观测与告警:接入结构化日志(如 Monolog),配合告警系统监控异常峰值与恶意请求。
  • 单元与集成测试:覆盖边界值(空字符串、超长、控制字符、非法 UTF-8、多字节字符、BOM 等),确保回归安全。

代码实现

<?php
declare(strict_types=1);

/**
 * 安全获取并验证 GET 数组参数:keywords
 * 要求:
 * - 请求方法:GET
 * - 参数名称:keywords
 * - 数据类型:数组(例如:?keywords[]=foo&keywords[]=bar)
 * - 验证要求:基础验证(数量、长度、字符集)
 *
 * 返回:JSON
 * - 成功:{ success: true, data: { keywords: [ ... ] }, meta: { count: n } }
 * - 失败:{ success: false, errors: [ ... ] }
 *
 * 注意:本示例仅处理参数获取与验证,不包含业务查询逻辑。
 */

header('Content-Type: application/json; charset=utf-8');

const MAX_KEYWORDS      = 10;   // 最多关键词数量
const MAX_KEYWORD_LEN   = 64;   // 单个关键词最大长度(按字符计)
const ALLOWED_PATTERN   = '/^[\p{L}\p{N}\s\-_]+$/u'; // 允许:字母、数字、空格、连字符、下划线(支持多语言)

/**
 * 统一 JSON 响应
 */
function respond(array $body, int $status = 200, array $headers = []): void
{
    http_response_code($status);
    foreach ($headers as $name => $value) {
        header($name . ': ' . $value, true);
    }
    echo json_encode($body, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
    exit;
}

/**
 * 异常:参数校验失败
 */
final class ValidationException extends RuntimeException
{
    /** @var array<int|string, mixed> */
    private array $errors;

    /**
     * @param array<int|string, mixed> $errors
     */
    public function __construct(array $errors, string $message = 'Validation failed', int $code = 422)
    {
        parent::__construct($message, $code);
        $this->errors = $errors;
    }

    /**
     * @return array<int|string, mixed>
     */
    public function getErrors(): array
    {
        return $this->errors;
    }
}

/**
 * 多字节长度安全函数
 */
function mb_len(string $str): int
{
    return function_exists('mb_strlen') ? mb_strlen($str, 'UTF-8') : strlen($str);
}

/**
 * 关键词规范化:
 * - 去首尾空白
 * - 合并连续空白为单个空格
 */
function normalize_keyword(string $keyword): string
{
    $keyword = trim($keyword);
    // 合并任意空白字符为一个空格(支持多字节)
    $keyword = preg_replace('/\s+/u', ' ', $keyword) ?? $keyword;
    return $keyword;
}

/**
 * 对 keywords 参数进行获取、验证与过滤
 *
 * @return array<int, string> 通过校验的关键词列表
 * @throws ValidationException
 */
function get_and_validate_keywords(): array
{
    $errors = [];

    // 仅允许 GET
    if (($_SERVER['REQUEST_METHOD'] ?? '') !== 'GET') {
        respond(
            [
                'success' => false,
                'errors'  => [
                    [
                        'field'   => 'method',
                        'message' => 'Only GET method is allowed.',
                        'code'    => 'method_not_allowed',
                    ],
                ],
            ],
            405,
            ['Allow' => 'GET']
        );
    }

    // 判断参数是否存在及是否为数组
    $hasParam = array_key_exists('keywords', $_GET);
    if (!$hasParam) {
        $errors[] = [
            'field'   => 'keywords',
            'message' => 'Parameter "keywords" is required and must be an array (e.g., ?keywords[]=foo&keywords[]=bar).',
            'code'    => 'required',
        ];
        throw new ValidationException($errors);
    }
    if (!is_array($_GET['keywords'])) {
        $errors[] = [
            'field'   => 'keywords',
            'message' => 'Parameter "keywords" must be an array. Use repeated keys like keywords[]=value.',
            'code'    => 'type_array_required',
        ];
        throw new ValidationException($errors);
    }

    // 使用 filter_input 获取并初步过滤为数组
    $rawKeywords = filter_input(INPUT_GET, 'keywords', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
    // 防御性判断(极端情况下 $rawKeywords 可能为 null)
    if (!is_array($rawKeywords)) {
        $errors[] = [
            'field'   => 'keywords',
            'message' => 'Failed to read "keywords" as array.',
            'code'    => 'read_failure',
        ];
        throw new ValidationException($errors);
    }

    // 数量限制
    if (count($rawKeywords) > MAX_KEYWORDS) {
        $errors[] = [
            'field'   => 'keywords',
            'message' => 'Too many keywords. At most ' . MAX_KEYWORDS . ' items are allowed.',
            'code'    => 'too_many_items',
        ];
        throw new ValidationException($errors);
    }

    $valid = [];
    foreach ($rawKeywords as $index => $value) {
        // 禁止嵌套数组
        if (is_array($value)) {
            $errors[] = [
                'field'   => "keywords[$index]",
                'message' => 'Nested arrays are not allowed. Each keyword must be a scalar string.',
                'code'    => 'nested_array_not_allowed',
            ];
            continue;
        }

        // PHP 在 GET 中通常只会得到字符串,这里仍做防御性检查
        if (!is_string($value)) {
            $errors[] = [
                'field'   => "keywords[$index]",
                'message' => 'Keyword must be a string.',
                'code'    => 'type_string_required',
            ];
            continue;
        }

        $value = normalize_keyword($value);

        // 空字符串直接跳过(不计入错误,允许用户提交空项但最终至少要有一个有效关键字)
        if ($value === '') {
            continue;
        }

        // 长度校验
        if (mb_len($value) > MAX_KEYWORD_LEN) {
            $errors[] = [
                'field'   => "keywords[$index]",
                'message' => 'Keyword length must be <= ' . MAX_KEYWORD_LEN . ' characters.',
                'code'    => 'too_long',
            ];
            continue;
        }

        // 字符集校验(允许:字母、数字、空格、连字符、下划线;多语言支持)
        if (!preg_match(ALLOWED_PATTERN, $value)) {
            $errors[] = [
                'field'   => "keywords[$index]",
                'message' => 'Keyword contains invalid characters. Only letters, numbers, spaces, hyphen, underscore are allowed.',
                'code'    => 'invalid_charset',
            ];
            continue;
        }

        $valid[] = $value;
    }

    // 去重(保持第一次出现的顺序)
    $valid = array_values(array_unique($valid, SORT_STRING));

    // 至少需要一个有效关键词
    if (count($valid) === 0) {
        $errors[] = [
            'field'   => 'keywords',
            'message' => 'At least one non-empty, valid keyword is required.',
            'code'    => 'no_valid_keyword',
        ];
    }

    if (!empty($errors)) {
        throw new ValidationException($errors);
    }

    return $valid;
}

// 执行
try {
    $keywords = get_and_validate_keywords();

    respond([
        'success' => true,
        'data'    => [
            'keywords' => $keywords,
        ],
        'meta'    => [
            'count' => count($keywords),
        ],
    ]);
} catch (ValidationException $e) {
    respond([
        'success' => false,
        'errors'  => $e->getErrors(),
    ], 422);
} catch (Throwable $e) {
    // 生产环境请记录日志(勿输出敏感信息)
    respond([
        'success' => false,
        'errors'  => [
            [
                'message' => 'Internal server error.',
                'code'    => 'internal_error',
            ],
        ],
    ], 500);
}

方法说明

  • 请求方法与入口
    • 强制仅允许 GET 请求,违规返回 405(并设置 Allow: GET)。
  • 参数获取
    • 使用 filter_input(INPUT_GET, ..., FILTER_REQUIRE_ARRAY) 获取数组类型,保证类型安全。
    • 同时结合 $_GET 做存在性与类型的可靠判断,明确“缺失”和“类型错误”的区别。
  • 基础验证
    • 数量限制:最多 10 个关键词。
    • 长度限制:每个关键词最多 64 个字符(多字节安全)。
    • 字符集限制:仅允许字母、数字、空格、连字符(-)和下划线(_);正则采用 Unicode 模式,支持多语言。
    • 去重处理:保留第一次出现的顺序。
    • 允许用户传入空元素,但最终必须至少存在 1 个有效关键词。
  • 安全过滤
    • 规范化空白:去除首尾空白,并将连续空白折叠为单个空格,减小“同义输入”的差异。
    • 不在此处进行“输出转义”,而是在输出到 HTML 时使用上下文相关的转义(如 htmlspecialchars)。
  • 错误处理
    • 使用 ValidationException 汇总错误,返回结构化 JSON,便于前端逐字段展示提示。
    • 区分 422(校验失败)与 500(服务器错误),以及 405(方法不允许)。

安全建议

  • 防止 XSS
    • 本接口返回 JSON 且不渲染 HTML;若将关键词回显到 HTML,请使用 htmlspecialchars($keyword, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8')。
  • 防止 SQL 注入
    • 任何将关键词用于数据库查询的地方,务必使用参数化查询(PDO prepare/bindParam),绝不可直接拼接 SQL。
    • 示例(MySQL,模糊搜索):
      // $keywords 已通过上述验证
      $pdo = new PDO('mysql:host=localhost;dbname=app;charset=utf8mb4', 'user', 'pass', [
          PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
      ]);
      
      // 构造 (name LIKE ? OR name LIKE ? ...) 形式,使用绑定参数
      $placeholders = [];
      $params = [];
      foreach ($keywords as $kw) {
          $placeholders[] = 'name LIKE ?';
          $params[] = '%' . $kw . '%';
      }
      $sql = 'SELECT id, name FROM products WHERE ' . implode(' OR ', $placeholders) . ' LIMIT 50';
      $stmt = $pdo->prepare($sql);
      $stmt->execute($params);
      $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
      
  • 速率限制与滥用防护
    • 对搜索类接口建议增加限流与缓存,防止暴力爬取或滥用。
  • 日志与监控
    • 记录 4xx/5xx 事件到安全日志(勿记录敏感信息),便于审计与排错。

使用示例

  • URL 格式(正确)
    • /search.php?keywords[]=iphone&keywords[]=13%20Pro&keywords[]=保护壳
  • cURL
    curl -G "http://localhost/search.php" \
      --data-urlencode "keywords[]=iphone" \
      --data-urlencode "keywords[]=13 Pro" \
      --data-urlencode "keywords[]=保护壳"
    
  • JavaScript fetch
    const params = new URLSearchParams();
    ['iphone', '13 Pro', '保护壳'].forEach(v => params.append('keywords[]', v));
    
    fetch('/search.php?' + params.toString(), { method: 'GET' })
      .then(r => r.json())
      .then(console.log)
      .catch(console.error);
    
  • 成功响应示例
    {
      "success": true,
      "data": { "keywords": ["iphone", "13 Pro", "保护壳"] },
      "meta": { "count": 3 }
    }
    
  • 失败响应示例(超过数量)
    {
      "success": false,
      "errors": [
        {
          "field": "keywords",
          "message": "Too many keywords. At most 10 items are allowed.",
          "code": "too_many_items"
        }
      ]
    }
    

扩展建议

  • 宽松输入兼容
    • 可选支持单字符串输入自动拆分为数组(例如逗号分隔),但务必明确开启开关,避免与严格校验冲突。
  • 更细化校验策略
    • 增加最小长度(如 >= 2),停用词过滤,前后缀黑名单等。
  • 去重策略优化
    • 采用大小写不敏感去重、去除标点后的语义去重等。
  • 业务层集成
    • 支持分页、排序、字段白名单与查询耗时上限。
  • 性能与可维护
    • 抽离为独立的 Request DTO/Validator 类,配合 PSR-15 中间件统一处理请求体验证与错误响应。
  • 国际化与可观测性
    • 错误消息多语言化;为成功/失败响应增加 request_id 并打通日志链路,便于追踪。

示例详情

解决的问题

将业务中的表单需求(如注册登录、搜索筛选、文件上传、联系表单等)快速转化为安全、规范、可复用的PHP实现与配套说明;默认内置严谨的数据校验、输入清洗与错误处理,显著降低安全与线上故障风险;统一团队代码风格与说明格式,减少沟通和评审时间;让新人也能稳定产出资深水准的结果,加速从原型到上线的节奏,助力团队在试用期就看到可验证的成效并自然转化为付费。

适用用户

PHP初学与转岗开发者

用它在半小时内搭建安全的注册/登录表单;自动生成字段校验、过滤与提示;复制即用,快速建立正确编码习惯。

中小企业网站工程师

批量生成联系表单、搜索筛选、文件上传的处理逻辑;统一风格减少返工,压缩上线周期与维护成本。

SaaS与独立站开发者

快速适配不同站点的参数命名与请求方式;一键产出代码、说明与示例,支持多环境复用与版本迭代。

特征总结

一键生成安全表单处理代码,自动识别请求方式并匹配合适的数据获取逻辑。
内置多重校验与过滤,轻松拦截非法输入,显著降低注入与脚本攻击风险。
按请求方式、数据类型与参数名定制输出,减少样板劳动,快速适配实际业务字段。
自动构建完善的错误处理与提示信息,异常可追溯,用户反馈友好,便于排查。
同步生成清晰注释与使用说明,新人也能即贴即用,团队协作与交接更顺畅。
覆盖注册登录、筛选查询、文件上传等常见场景,开箱即用显著提升开发上线速度。
提供可扩展建议与最佳实践,帮助持续优化性能与安全,构建长期可维护代码。
输出示例与调用指引一应俱全,减少试错时间,快速完成联调、自测与验收。
支持模板化复用与参数化调用,一次配置,多项目通用,统一风格与质量标准。

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 545 tokens
- 4 个可调节参数
{ 请求方法 } { 数据类型 } { 参数名称 } { 验证要求 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
使用提示词兑换券,低至 ¥ 9.9
了解兑换券 →
限时半价

不要错过!

半价获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59