将ereg_replace更改为等效的preg_replace

Red*_*gon 0 php

可能重复:
ereg_replace,preg_replace和PHP 5.3.0
将ereg表达式转换为preg

使用preg_replace对以下表达式的等价物是什么?

ereg_replace('^' . $g_lang_prefix, '', $t_var );
Run Code Online (Sandbox Code Playgroud)

dyn*_*mic 5

preg_replace('/^' . preg_quote($g_lang_prefix,'/') . '/', '', $t_var );
Run Code Online (Sandbox Code Playgroud)

如果你需要$g_lang_prefix作为一个普通的正则表达式,那么省略preg_quote

preg_replace('/^' . $g_lang_prefix . '/', '', $t_var );
Run Code Online (Sandbox Code Playgroud)

(很明显)

此外,如果你需要这个第二个解决方案,但你$g_lang甚至可以包含这个字符,/那么你至少需要逃脱它:

preg_replace('/^' . str_replace('/','\/',$g_lang_prefix) . '/', '', $t_var );
Run Code Online (Sandbox Code Playgroud)

  • +1使用preg_quote. (4认同)