솔그루

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

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

[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]
@리자 시간날때 보완해보겠습니다. 유지보수 하다가 급하게 수정을 해야 해서 한번 만들어봤습니다.
댓글을 작성하시려면 로그인이 필요합니다.
+
제목 글쓴이 날짜 조회
21-06-04 조회 1,547
21-08-29 조회 1,436
21-06-24 조회 1,773
21-06-17 조회 1,945
21-06-09 조회 1,167
20-08-14 조회 2,062
20-08-11 조회 1,363
20-08-10 조회 1,479
20-08-09 조회 1,440
20-08-06 조회 1,599
20-08-05 조회 1,326
20-08-05 조회 1,295
20-08-05 조회 1,209
20-08-04 조회 1,727
20-08-04 조회 1,196
20-08-04 조회 1,558
20-08-03 조회 1,689
20-08-03 조회 1,350
20-08-03 조회 1,552
20-08-02 조회 1,536
20-08-02 조회 1,732
20-08-02 조회 1,523
20-08-01 조회 1,634
20-08-01 조회 1,243
20-08-01 조회 1,385
21-06-07 조회 1,671
21-06-04 조회 1,591
21-06-04 조회 1,612
21-06-04 조회 1,332
21-06-04 조회 1,559