잘못된 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]