PHP 7.2將未定義的常量錯誤從通知升級為警告,并建議將來它們將返回完整錯誤。我試圖找到一種通過腳本修復(fù)這些問題的方法,理想情況下是通過一個正則表達(dá)式,我可以運行該正則表達(dá)式來解析站點上的每個PHP文件,查找所有令人討厭的代碼并進(jìn)行修復(fù)。我找到了多個示例來解決一個變種,但沒有一個解決另一個變種,這就是我正在尋求幫助的一個例子。這是一個示例文件:<?php$array[foo] = "bar"; // this should become // $array['foo'] = "bar"echo "hello, my name is $array[foo] and it's nice to meet you"; // would need to become // echo "hello, my name is " . $array['foo'] . " and it's nice to meet you";?>我已經(jīng)看到了很多用于標(biāo)識和更改第一種類型的選項,但是對于第二種類型則沒有,其中未定義的常量位于字符串中。在那種情況下,解析器將需要:替換$array[foo]為$array['foo']找到整個變量,事先用引號引起來,然后放一個。兩側(cè),然后重新打開報價編輯:理想情況下,一個正則表達(dá)式將一次性處理示例代碼中的兩個示例-即添加刻度線,并且如果它標(biāo)識在字符串內(nèi),則還添加引號/點。
如何使用正則表達(dá)式在PHP代碼中捕獲未引用的數(shù)組索引并對其進(jìn)行引用?
函數(shù)式編程
2021-05-13 18:23:13