Код обновления PHP 7.2 - REGEX Использование неопределенной константы - PullRequest
0 голосов
/ 27 ноября 2018

атм. Я хочу подготовить свой код для обновления с PHP 7.0 to 7.2.. Для этого я написал свой собственный небольшой скрипт поиска и замены, который использует правила REGEX для поиска кода несовместимости и, если возможно, исправления их с помощью preg_replace.

Ошибка кода:

«Предупреждение: использование неопределенной константы ...»

Для этого я написал следующееREGEX:

$search_strings['7.0 to 7.2']['search'][]   = '#(\[([^0-9$]\w+)\](?!\'))#i'; 
$search_strings['7.0 to 7.2']['replace'][]  = '[\'$2\']';

Это работает с обычными массивами в коде, но если они вложены в MySQL Query или в значение эхо / объявления, это все равно отстой:

Большинство правил работало нормально,но теперь я хочу исправить следующее:

$MyArray[array_level1][] = 'sdfsdf [test] my code';

заменит (неправильно):

$MyArray['array_level1'][] = 'sdfsdf ['test'] my code';

должно быть:

$MyArray['array_level1'][] = 'sdfsdf [test] my code';

или

$sel = "SELECT * FROM $tbl[my_table_name] WHERE request LIKE '$myArray[test]%' LIMIT 0,1";

заменит (неправильно):

$sel = "SELECT * FROM $tbl['my_table_name'] WHERE request LIKE '$myArray['test']%' LIMIT 0,1";

должно быть (я думаю, для этого требуется дополнительное регулярное выражение из-за сложности?):

$sel = "SELECT * FROM ".$tbl['my_table_name']." WHERE request LIKE '".$myArray['test']."%' LIMIT 0,1";

Какиетакже неправильно ... я тестировал несколько REGEX, но не нашел решения, я думаю, что мне нужно оптимизировать мой негативный взгляд, вот мой пример:

Пример Regex

...