PHP文件递归更改查找上的数组键

PHP文件递归更改查找上的数组键

我使用 PHP 数组

$lang['module']['1'] = 'Title';
$lang['module']['2'] = 'Title2';
$lang['value'] = 'text123';

我如何在终端键值中使用替换为 CASE UPPER ?

$lang['VALUE']
$lang['MODULE']['1']
$lang['MODULE']['2']
等等..递归

find /var/www/site.net/blog/ -iname '*.php' | xargs grep -E '\$lang\[' -sl

只找到 $lang[ ...

请帮我。

答案1

find /var/www/site.net/blog/ -iname '*.php' -exec grep -l "\$lang\['" {} \; \
-exec sed -i.bak "s/$lang\['\([^']*\)']/$lang['\U\1']/" {} \;

-i选项用于.bak制作备份文件,.bak每个文件的扩展名sed都会改变。如果有输入sed并且您不会丢失所有数据,它很有用。如果您确定一切正常,您可以仅使用-i.在这种情况下,它不会进行备份。

相关内容