我有一個php項目,需要從php 5.3升級到php 5.6(最終,到php7),並且從我在PHP文檔中看到的preg_replace的/ e修飾符已被棄用,並且將被刪除,並且我必須搜索它的所有出現並將其刪除(並將其替換爲其他內容,例如preg_replace_callback)。代碼搜索函數調用
問題是,有很多調用preg_replace(大約2100次調用),並且它會花費很多時間手動檢查它們中的每一個,並且我想創建一個腳本(php腳本或一個bash腳本),它搜索所有使用指定修飾符的preg_replace調用。我在網上搜索,我發現這應該用正則表達式或用標記器來完成。我已經嘗試過了,但是我沒有設法創建一個能夠做到這一點的腳本(主要是因爲我沒有真正使用所提及的兩個功能中的任何一個,並且沒有精通其中的任何一個)。
我想知道是否有更簡單的方法來做到這一點,或者如果有人可以幫助我創建一個腳本來搜索整個代碼庫並輸出所需的調用。
預先感謝您。
我很抱歉,一個什麼樣的例子?不,該項目使用內部構建的框架,該框架使用幾千個PHP文件。 –
preg_replace存在的一個例子,它是'preg_replace(「/../ e」,$ subst,$ str);'或者正則表達式是在某個變量中定義的? – rock321987
啊。對不起。我查看了代碼,所有的調用都是這樣的:'preg_replace('/ [^ a-z0-9 -_,]/i','',$ variable)'或'preg_replace(array( '/','/\./','/ \ //','/ - /','/ \(/','/ \)/'),array('','','' ,'','',''),$ number)'。所以正則表達式在函數調用中,而不是在另一個變量中。 –