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

PHP中获取rawurlencoded字符串换行/回车前的内容

提取Rawurlencoded字符串的首行内容

针对你需要处理rawurlencoded格式字符串、提取到编码换行符(%0A)或回车符(%0D)之前内容的需求,可以写一个自定义函数来实现类似strtok的效果,具体代码如下:

function getFirstLineRawUrlEncoded($rawStr) {
    // 查找%0A和%0D的首次出现位置
    $posNewline = strpos($rawStr, '%0A');
    $posCarriage = strpos($rawStr, '%0D');
    
    // 确定需要截断的位置:取存在的位置中最小的那个,若都不存在则为null
    $cutPos = null;
    if ($posNewline !== false && $posCarriage !== false) {
        $cutPos = min($posNewline, $posCarriage);
    } elseif ($posNewline !== false) {
        $cutPos = $posNewline;
    } elseif ($posCarriage !== false) {
        $cutPos = $posCarriage;
    }
    
    // 根据截断位置返回对应内容
    return $cutPos !== null ? substr($rawStr, 0, $cutPos) : $rawStr;
}

测试示例

  • 输入:First%20sentence.%0D%0ASecond%20Sentence.
    输出:First%20sentence.
  • 输入:Just%20one%20sentence.
    输出:Just%20one%20sentence.

说明

  • 函数会优先找到%0A或%0D中最先出现的位置,截断并返回之前的内容
  • 如果字符串中没有这两个编码字符,直接返回原字符串
  • 处理边界场景(比如字符串开头就是编码换行符)时,会返回空字符串,符合首行提取的逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 04:33:21