我是PHP编码的新手,我在代码中犯了一个错误。 我喜欢400次出现的方法,我想改变,但我不知道如何。
我听说过正则表达式,但我不能适用于这种情况,因为我不太了解RegExp。
我的代码中有这个,例如
<?php echo $lang['extension_not_allowed'] ?>
我想用$ lang更改$ this-&gt; lang('')的所有结果,例如
<?php echo $this->lang('extension_not_allowed') ?>
在NetBeans中使用Ctrl + Shift + H(全局替换)有什么办法吗?
感谢。
答案 0 :(得分:1)
您可以使用以下正则表达式替换:
(<\?php.*?)\$lang\[([^]]*)]
替换:
$1\$this->\$lang($2)
如果(<\?php.*?)
可能出现在没有$lang
的行上,则删除<?php
部分:
\$lang\[([^]]*)]
并替换为"\$this->\$lang($1)"
。
请参阅demo
几点说明:
(<\?php.*?)
- 匹配并捕获文字<?php
以及除换行符以外的0个或多个字符,尽可能少(使用.*?
)\$lang\[
- 按字面意思匹配$lang[
(请注意必须转义特殊的正则表达式字符)([^]]*)
- 匹配并捕获除]
以外的0个或多个字符(我们使用的是字符类[...]
)]
- 文字]
。