PHP中如何正确替换或移除字符串中的\"组合字符
如何在PHP中整体移除字符串里的"组合字符?
你的核心问题是要把\"作为整体移除,但原代码里的str_replace搜索参数写错了,导致没正确匹配到目标序列。
错误原因
原代码中的搜索字符串格式完全错误,没有正确转义反斜杠,根本匹配不到你要找的\"组合。在PHP中,要表示一个实际的反斜杠字符,单引号字符串里需要写两个反斜杠\\,双引号字符串里需要写四个反斜杠\\\\。
正确实现代码
$string = '{"ID":"89t9ZUIx1Mt","Title":"Pen","Attribution":"\"Pen\" by Jarlan Perez, https://poly.pizza/m/89t9ZUIx1Mt. Licence at https://creativecommons.org/licenses/by/3.0"'; // 用单引号包裹搜索字符串,更直观,无需额外转义引号 $replaced = str_replace('\\"', '', $string); echo $replaced;
执行结果
{"ID":"89t9ZUIx1Mt","Title":"Pen","Attribution":"Pen by Jarlan Perez, https://poly.pizza/m/89t9ZUIx1Mt. Licence at https://creativecommons.org/licenses/by/3.0"
这个结果完全符合预期目标,因为我们精准匹配了\"这个整体并将其移除,没有单独操作其中的反斜杠或"。
内容的提问来源于stack exchange,提问作者PHP Newbie
相关产品推荐
相关产品推荐

