솔그루

잘못된 PHP 배열 참조 코드 수정하는 정규식

· 2021-08-29 (일) 14:18:40 · 1430 · 2

외주  작업중에.. 소스를 보니, 

[code]

if($member[mb_id] && $member[mb_id] == $write[mb_id]){..}

[/code] 

이렇게 array  참조하는 코드가 많네요.. 구버전의 PHP 에선 잘 동작하지만, 저건 쓰면 안되는 문법으로 최근 PHP버전에선 오류(또는 경고)를 뿜어냅니다.

 

일일이 수정하긴에 많아서,, 정규식으로 replace 해보았습니다.

PHPStorm 이지만, 다른 툴에서도 정규식으로 변경하면 동작할거라 봅니다.

[code]

search : \$([a-zA-Z0-9_]+)\[([a-zA-Z0-9_\-]+)\]?

replace : \$$1\['$2'\]

 

결과 : 

$member[mb_id] ==> $member['mb_id']

[/code]

 

 

 

 

|

댓글 2개

안녕하세요.
문제점을 알려주셔서 감사합니다.
해당 코드로 테스트 해보니 아래와 같은 코드들이 검색되어 일괄 변경으로 처리하기에는 어려울 것이라 생각됩니다.
감사합니다.

[code]
adm/board_form.php:
1198
1199: $option_value = $order_by_str = $v[0];
1200: if( $v[0] === 'wr_num, wr_reply' ){

lib/Excel/php_writeexcel/class.writeexcel_format.inc.php:
147 // Set the type of the XF record and some of the attributes.
148: if ($_[0] == "style") {
149 $style = 0xFFF5;

376 // or the color string converted to an integer,
377: if (isset($colors[strtolower($color)])) {
378: return $colors[strtolower($color)];
379 }
[/code]
@리자 시간날때 보완해보겠습니다. 유지보수 하다가 급하게 수정을 해야 해서 한번 만들어봤습니다.
댓글을 작성하시려면 로그인이 필요합니다.

정규표현식

30건

+
제목 글쓴이 날짜 조회
21-06-04 조회 1,539
21-08-29 조회 1,431
21-06-24 조회 1,764
21-06-17 조회 1,935
21-06-09 조회 1,161
20-08-14 조회 2,054
20-08-11 조회 1,357
20-08-10 조회 1,472
20-08-09 조회 1,433
20-08-06 조회 1,595
20-08-05 조회 1,321
20-08-05 조회 1,289
20-08-05 조회 1,204
20-08-04 조회 1,721
20-08-04 조회 1,189
20-08-04 조회 1,552
20-08-03 조회 1,681
20-08-03 조회 1,344
20-08-03 조회 1,548
20-08-02 조회 1,532
20-08-02 조회 1,723
20-08-02 조회 1,517
20-08-01 조회 1,628
20-08-01 조회 1,237
20-08-01 조회 1,380
21-06-07 조회 1,664
21-06-04 조회 1,583
21-06-04 조회 1,609
21-06-04 조회 1,327
21-06-04 조회 1,549