атм. Я хочу подготовить свой код для обновления с 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