솔그루

잘못된 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]
@리자 시간날때 보완해보겠습니다. 유지보수 하다가 급하게 수정을 해야 해서 한번 만들어봤습니다.
댓글을 작성하시려면 로그인이 필요합니다.

정규표현식

+
제목 글쓴이 날짜 조회
4년 전 조회 1,468
4년 전 조회 1,355
4년 전 조회 1,672
4년 전 조회 1,832
4년 전 조회 1,094
5년 전 조회 1,969
5년 전 조회 1,286
5년 전 조회 1,401
5년 전 조회 1,352
5년 전 조회 1,534
5년 전 조회 1,253
5년 전 조회 1,228
5년 전 조회 1,121
5년 전 조회 1,647
5년 전 조회 1,122
5년 전 조회 1,486
5년 전 조회 1,604
5년 전 조회 1,270
5년 전 조회 1,474
5년 전 조회 1,460
5년 전 조회 1,635
5년 전 조회 1,439
5년 전 조회 1,563
5년 전 조회 1,174
5년 전 조회 1,302
4년 전 조회 1,582
4년 전 조회 1,512
4년 전 조회 1,540
4년 전 조회 1,253
4년 전 조회 1,462