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

当$result['data']['checkout_url']长度超100时添加二维码图片的实现方法

实现URL长度超100时添加二维码的PHP逻辑修改

需求说明:当$result['data']['checkout_url']的字符长度超过100时,在转账提示的成功消息中插入指定的二维码图片;长度未超过时保留原提示内容不变。

修改后的完整PHP代码:

if (filter_var($result['data']['checkout_url'], FILTER_VALIDATE_URL)) {
    return redirect()->to($result['data']['checkout_url']);
} else {
    // 初始化基础提示文本
    $successMsg = 'Silahkan transfer sebesar Rp ' . number_format($data_post['quantity'],0,',','.') . ' ke ' . $result['data']['checkout_url'] . ' melalui ' . $data_method[0]['name'] . ' sebelum 1x24 jam.';
    
    // 判断URL长度是否超过100,满足条件则追加二维码
    if (strlen($result['data']['checkout_url']) > 100) {
        // 转义URL内容避免HTML注入和参数解析问题
        $escapedUrl = htmlspecialchars($result['data']['checkout_url']);
        $qrCode = '<img src="https://chart.googleapis.com/chart?chs=300x300&cht=qr&choe=UTF-8&chl=' . $escapedUrl . '" width="200">';
        // 用换行分隔文本与二维码,可根据前端布局调整位置
        $successMsg .= '<br>' . $qrCode;
    }
    
    $this->session->setFlashdata('success', $successMsg);
    return redirect()->to(str_replace('index.php/', '', site_url(uri_string())));
}
} else {
    $this->session->setFlashdata('error', $result['message']);
    return redirect()->to(str_replace('index.php/', '', site_url(uri_string())));
}
}

关键修改说明:

  • 用strlen()函数判断URL长度是否达标
  • 新增htmlspecialchars()转义URL,避免出现HTML语法错误或安全问题
  • 将二维码HTML片段拼接到原提示文本后,保持原有业务逻辑完全不变

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:09:46