검색/바꾸기를 사용하여 Notepad++에서 PHP 변수 구문을 객체에서 배열로 변경합니다.

검색/바꾸기를 사용하여 Notepad++에서 PHP 변수 구문을 객체에서 배열로 변경합니다.

1차원 객체 속성 액세스 구문을 배열 요소 액세스 구문으로 바꿔야 합니다.

예:

  • $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_] 문자를 캡처합니다.
  • *-> * 0개 이상의 공백, 하이픈, 보다 큼, 0개 이상의 공백과 일치합니다.
  • (\w+) 하나 이상의 [a-zA-Z0-9_] 문자를 캡처합니다.

그런 다음 $1및 를 사용하여 $2배열 구문으로 원하는 동적 대체를 생성합니다.

다른 답변에서 언급했듯이 하나 이상의 문자 그대로 달러 기호( )를 찾는 것은 의미가 없습니다. \$+왜냐하면 하나만 있어야 하기 때문입니다. "변수 변수"( $$variable)를 사용하지 않기를 바랍니다. 그렇게 했다면 이 맥락에서는 중요하지 않습니다.

관련 정보