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

如何在PHP中移除字符串里的双引号(")字符

解决方案

核心报错原因

你遇到的语法错误和替换函数无关,是PHP字符串定义语法错误导致的:你用单引号作为字符串边界标记,字符串内部又直接使用了未转义的单引号包裹G,PHP会将'G'左侧的单引号识别为整个字符串的结束标记,自然抛出语法错误。

第一步:修正字符串定义

只需转义字符串内部的单引号即可:

// 转义内部单引号,避免语法冲突
$string = 'dfghhhhfgh 0201-228 8"X1" \'G\' rgth fgh fgh';

第二步:移除"字符

你最初用的str_replace本身就是最高效的方案,修正字符串定义后即可正常执行:

$clean_str = str_replace('"', '', $string);
echo $clean_str;
// 输出:dfghhhhfgh 0201-228 8X1 'G' rgth fgh fgh

其他方案失效原因说明

  • preg_replace本身也可以实现替换,但固定字符串替换不需要用到正则,性能远低于str_replace,你之前调用失败同样是因为字符串定义错误,而非函数本身问题
  • ltrim仅能移除字符串开头位置的指定字符,无法处理字符串中间的",功能本身就和你的需求不匹配

补充说明

如果你实际需要移除的是实体编码对应的原始双引号",而非"这段文本,把替换目标改成双引号即可:

$clean_str = str_replace('"', '', $string);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:39:03