You need to enable JavaScript to run this app. Invision Community论坛PHP调用str_replace替换字符串失效问题问询
优惠活动
大模型
产品
解决方案
定价
更多

Invision Community论坛PHP调用str_replace替换字符串失效问题问询

问题原因及解决方法

  • 原因1:str_replace 是大小写敏感的替换函数,若原通知文本中的目标单词存在大小写差异(比如Commented、COMMENTED),就会匹配失败。
    解决方法:改用不区分大小写的替换函数str_ireplace,调整后代码如下:
    {{$title = $notification['data']['title'];}}
    {{$title = str_ireplace("commented", "reacted", $title);}}
    <span class='ipsDataItem_title ipsType_break'>{$title}</span>
    
  • 原因2:原文本中的commented包含隐藏字符、HTML实体或者特殊格式标记,导致纯文本匹配失败。
    解决方法:先打印原始字符串确认内容,可临时添加调试代码查看原始输出:
    {{var_dump(htmlspecialchars($notification['data']['title']));exit;}}
    
    对照输出的内容确认目标单词的实际写法,调整替换的匹配文本即可。
  • 原因3:硬编码替换容易被模板后续渲染逻辑覆盖,且更新系统后可能失效。
    更稳妥的方案:直接修改Invision Community的语言包。登录论坛后台,进入「自定义-本地化-语言包」界面,搜索包含commented的对应语言项,直接将其修改为reacted即可,不需要修改代码,也不会受后续系统更新的影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 20:06:00