【发布时间】:2011-06-07 18:08:35
【问题描述】:
使用 preg_replace 与以下表达式等价的是什么?
ereg_replace('^' . $g_lang_prefix, '', $t_var );
【问题讨论】:
-
最重要的区别:PCRE需要delimiters。
标签: php
使用 preg_replace 与以下表达式等价的是什么?
ereg_replace('^' . $g_lang_prefix, '', $t_var );
【问题讨论】:
标签: php
preg_replace('/^' . preg_quote($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 可能是什么 :)
$g_lang_prefix 应该包含前缀的正则表达式。
preg_replace('/^' . preg_quote($g_lang_prefix,'/') . '/', '', $t_var ); 工作得很好!