Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将ereg_替换更改为等效的preg_替换_Php - Fatal编程技术网

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需要。