0

主题文本:

$types[CNT_ANONS] = t('Announcement', 'content_type');

我需要一些查找和替换表达式才能获得结果:

$types[CNT_ANONS] = Yii::t('content_type', 'Announcement');

因此,将“t”替换为“Yii::t”,函数的参数应该反过来。

注意:表达式应该是“perl”语法(我在 sublime 文本编辑器中使用它)。请注意主题文本中可能出现“Yii::t”。

4

2 回答 2

-1

你可以试试

Search : t\('([^']+)',\s'([^']+)'\);
Replace: Yii::t('\2', '\1');
于 2013-11-06T15:43:31.083 回答
-1

尝试:

 $data = '$types[CNT_ANONS] = t(\'Announcement\', \'content_type\');';
 $res = preg_replace('@\$([^\s]+?)(\s+?)=(\s+?)t\((\'|")(.+?)(\'|"),(\s*?)(\'|")(.+?)(\'|")(.*?)\);@sim', "\$$1$2=$3Yii::t($8$9$10, $4$5$6$11);", $data);
 //                    ^_______________^----finding var
 //                                               ^________________^----first argument    
 //                                                                       ^________________^----second argument    
于 2013-11-06T15:43:54.670 回答