【发布时间】:2011-04-08 15:40:35
【问题描述】:
你好需要将函数ereg_replace("[\]", "", $theData)改为preg_replace
【问题讨论】:
标签: php regex string preg-replace ereg-replace
你好需要将函数ereg_replace("[\]", "", $theData)改为preg_replace
【问题讨论】:
标签: php regex string preg-replace ereg-replace
我使用这个 sed 自动将 ereg_replace 替换为 preg_replace 并放入所需的斜杠。假设第一个正则表达式中没有 \"
sed -i 's#ereg_replace("\([^"]*\)"#preg_replace("/\1/"#g' *.php
【讨论】:
要将ereg_replace 移植到preg_replace,您需要将正则表达式放在一对分隔符之间
另外,您的 regx 是 [\] 是 invalid 用于 preg_replace,因为 \ 正在转义结束字符类 ]
正确的端口是
preg_replace('/[\\\]/','',$theData)
此外,由于 char 类只有一个 char,因此不需要 char 类,您可以说:
preg_replace('/\\\/','',$theData)
由于您只替换单个字符,因此不建议使用正则表达式。您应该使用str_replace 作为简单的文本替换:
str_replace('\\','',$data);
【讨论】:
preg_replace 将其视为 /\\/,它将其解码为分隔符内的文字反斜杠。请注意,'/\\\\/' 也是正确的,因为 \\ 和 \ 都可以在字符串文字中编码反斜杠。请注意,\/ 不是字符串转义。
preg_replace("/\\\/", "", $theData);
【讨论】:
str_replace("\\","",$theData);
但我严重怀疑您是否需要更换。很可能您需要一些其他操作。
这个替换是为了什么?
【讨论】: