Php 将ereg_替换更改为等效的preg_替换
可能的重复项:Php 将ereg_替换更改为等效的preg_替换,php,Php,可能的重复项: 使用preg_replace与以下表达式的等效值是什么 ereg_replace('^' . $g_lang_prefix, '', $t_var ); 如果您需要$g_lang_prefix作为公共正则表达式工作,则省略preg_quote preg_replace('/^' . $g_lang_prefix . '/', '', $t_var ); (很明显) 另外,如果您需要第二种解决方案,但您的$g_lang甚至可以包含此字符/,那么您至少需要将其转义: preg_
使用preg_replace与以下表达式的等效值是什么
ereg_replace('^' . $g_lang_prefix, '', $t_var );
如果您需要$g_lang_prefix
作为公共正则表达式工作,则省略preg_quote
preg_replace('/^' . $g_lang_prefix . '/', '', $t_var );
(很明显)
另外,如果您需要第二种解决方案,但您的$g_lang
甚至可以包含此字符/
,那么您至少需要将其转义:
preg_replace('/^' . str_replace('/','\/',$g_lang_prefix) . '/', '', $t_var );
如果您需要$g_lang_prefix
作为公共正则表达式工作,则省略preg_quote
preg_replace('/^' . $g_lang_prefix . '/', '', $t_var );
(很明显)
另外,如果您需要第二种解决方案,但您的$g_lang
甚至可以包含此字符/
,那么您至少需要将其转义:
preg_replace('/^' . str_replace('/','\/',$g_lang_prefix) . '/', '', $t_var );
+1用于使用preg_quote。我不得不这样做,因为我不知道
$g_lang_prefix
可以是什么:)也许$g_lang_prefix
应该包含一个regex作为前缀。@是的,谢谢,这preg_replace('/^'.preg_quote($g_lang_prefix,'/'))/','','$t_var)代码>工作得很好@萨拉特:你能解释一下为什么-1吗?+1用于使用preg_quote。我不得不这样做,因为我不知道$g_lang_prefix
可能是什么:)也许$g_lang_prefix
应该包含前缀的正则表达式。@是的,谢谢,这preg_replace('/^'.preg_quote($g_lang_prefix,'/'),'/'),''''.''/'.'.'.',$t_var)代码>工作得很好@萨拉特:你能解释为什么是-1吗?最重要的区别是:PCRE需要。最重要的区别是:PCRE需要。