我有一个替换代码,用XD笑脸代替XD的所有实例......事情是,如果链接包含字符串'XD',它会断开链接。
我希望它只替换XD,如果它后跟一个空格,就像'XD'一样,除了我似乎无法让它工作(尝试& nbsp,/ \ s /和{{ 1}},如'XD& nbsp')
我很可能会得到一些非常明显错误的东西,但我找不到任何帮助(所有这些似乎都是关于删除空格,不需要它),所以我希望有人可以帮助我。
以下是供参考的代码:
 
内容是用户输入。谢谢你的帮助!
答案 0 :(得分:1)
你应该用%
包围“XD”$content= str_replace("%XD%", "<img src=\"images/smilies/icon_xd.gif\" alt=\"XD\">", $content);
编辑: 或者使用preg_replace
preg_replace("/XD/", "<img src=\"images/smilies/icon_xd.gif\" alt=\"XD\">", $content);
答案 1 :(得分:0)
所以你只想单独替换XD?
preg_replace('/\bXD\b/', '(ಠ‿ಠ)', "Then I was like XD")
使用\b
来观察字边界而不是\s
。这意味着它也可以在字符串的开头和结尾处工作,就像在我的例子中一样。
preg_replace()
有两个常见问题:
/
,但在我自己的代码中,我更喜欢%
。您可以将正则表达式编写为'%\bXD\b%'
,其含义相同。\b
中转义反斜杠。如果你使用双qoutes,你必须逃避它,如下所示:"/\\bXD\\b/"