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

PHP中避免转义字符:第三方字符串编解码后保持原样方案

解决方法

因为无法修改原字符串,要让urldecode()后的结果保留原字符串中的\u003d转义序列(即呈现为\\u003d),可以在urldecode()之后对结果做针对性替换:

  • 先正常执行urlencode()和urldecode()流程
  • 用正则匹配字符串中的\u序列,将其替换为\\u,确保反斜杠被转义,避免后续被解析为Unicode字符

示例代码:

// 第三方提供的原字符串
$body = 'this is data \u003d\ this is data';

// 执行urlencode编码
$encodedStr = urlencode($body);

// 执行urldecode解码
$decodedStr = urldecode($encodedStr);

// 替换\u为\\u,保留其他反斜杠格式
$finalResult = preg_replace('/\\\\u/', '\\\\\\\\u', $decodedStr);

// 输出结果:this is data \\u003d\ this is data
echo $finalResult;

原理说明:
正则表达式/\\\\u/用于匹配字符串中的\u(正则里反斜杠需要双重转义),替换为\\\\\\\\u后,最终字符串里会生成\\u,这样既保留了原序列的字面意义,又不会被当作Unicode转义解析。

内容的提问来源于stack exchange,提问作者Muhammad Arslan Jamshaid

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 00:03:19