你需要将函数ereg_replace("[\]", "", $theData)
更改为preg_replace。
你需要将函数ereg_replace("[\]", "", $theData)
更改为preg_replace。
将ereg_replace
转换为preg_replace
,需要在一对分隔符之间放置正则表达式。
此外,你的正则表达式[\]
是无效的,不能用于preg_replace,因为\
正在转义关闭字符类]
。
正确的转换代码如下:
preg_replace('/[\\\]/','',$theData)
另外,由于字符类只有一个字符,因此没有真正需要使用字符类,您可以直接使用:
preg_replace('/\\\/','',$theData)
由于您只需替换单个字符,因此不建议使用正则表达式。应该使用简单的文本替换,使用str_replace
:
str_replace('\\','',$data);
str_replace("\\","",$theData);
但我真的怀疑你根本不需要那个替换操作,很可能你需要进行其他操作。
这个替换操作是用来做什么的?
我使用了这个sed命令自动将ereg_replace替换为preg_replace,并添加所需的斜杠。假设第一个正则表达式中没有\"。
sed -i 's#ereg_replace("\([^"]*\)"#preg_replace("/\1/"#g' *.php
preg_replace("/\\\/", "", $theData);
preg_replace
将其视为/\ /,在分隔符内解码为文字反斜杠。请注意,'/\\/'也是正确的,因为\和\都可以在字符串文字中编码反斜杠。请注意,/不是字符串转义。 - Matthew Flaschen