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.在這種情況下,它不會進行備份。

相關內容