您好,我想在下一行中匹配“@”,
create@create_time:"2012-05-30 21:14:35.0",update_time:"2012-05-31 22:05:46.0"
preg_replace("@", "", $content)
preg_replace("\@", "", $content)
他们都没有工作。
您好,我想在下一行中匹配“@”,
create@create_time:"2012-05-30 21:14:35.0",update_time:"2012-05-31 22:05:46.0"
preg_replace("@", "", $content)
preg_replace("\@", "", $content)
他们都没有工作。
对于后代:如果有人偶然发现这一点,因为他们对作为其他人代码一部分的正则表达式中的 at 符号的使用感到困惑,@
偶尔将其用作开始和结束regex-delimiter。下面的引用还与为什么 OP 尝试匹配文字 '@' 失败(强调我的)有关:
使用 PCRE 函数时,需要用分隔符将模式括起来。定界符可以是任何非字母数字、非反斜杠、非空白字符。
换句话说,任何正则表达式字符串必须以由字符类标识的匹配字符开始和结束,[^A-Za-z\s\\]
或者——如果你觉得你可以处理它们的使用可能会给你带来的任何头痛——一对匹配的分组字符<>
{}
[]
()
。
如果您阅读错误消息,您会发现您的正则表达式缺少分隔符。
一个正确的应该是~@~
但是,在这种情况下你不需要preg_replace
,你应该去
str_replace("@", "", $content)