在 Notepad++ 中使用搜尋/替換將 PHP 變數語法從物件更改為數組

在 Notepad++ 中使用搜尋/替換將 PHP 變數語法從物件更改為數組

我需要將一維物件屬性存取語法替換為陣列元素存取語法

例子:

  • $variable -> child
  • $variable->child

兩者都應轉換為:

$variable['child']

答案1

找什麼:

\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*) *-> *([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)

用。

$\1['\2']

當然,將搜尋模式設定為“正規表示式”。這裡,一個正規表示式代表PHP變數[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

答案2

尋找:(\$\w+) *-> *(\w+)

代替:$1['$2']

  • (\$\w+)捕捉文字美元符號,然後捕獲一個或多個 [a-zA-Z0-9_] 字符
  • *-> * 匹配零個或多個空格,然後是連字符,然後大於,然後是零個或多個空格
  • (\w+) 捕捉一個或多個 [a-zA-Z0-9_] 字符

然後使用$1$2透過數組語法產生所需的動態替換。

正如另一個答案中所評論的那樣,尋找一個或多個字面美元符號 ( \$+) 是沒有意義的,因為應該只有一個——我希望您沒有使用“變量”( $$variable),但它不會如果你這樣做了,在這種情況下並不重要。

相關內容