Как с помощью регулярки вытащить значения в квадратных скобках?

Для того чтобы вытащить значения, находящиеся в квадратных скобках, воспользуемся функцией preg_match_all() в PHP с использованием регулярного выражения.

Если у нас есть строка, содержащая значения в квадратных скобках, допустим "[apple] [banana] [orange]", и мы хотим получить все значения внутри скобок, мы можем использовать следующее регулярное выражение:

preg_match_all('/[(.*?)]/', $string, $matches);

Обратите внимание на двойные косые черты перед открывающей и закрывающей квадратными скобками. Они использованы для экранирования специальных символов. Затем внутренние кавычки и знак вопроса представляют собой универсальную конструкцию, которая указывает на любой символ кроме новой строки или перевода строки.

Результат будет содержать двумерный массив $matches, где значения внутри квадратных скобок будут находиться во втором элементе массива:

echo $matches[1][0]; // выводит "apple"
echo $matches[1][1]; // выводит "banana"
echo $matches[1][2]; // выводит "orange"

Если нужно выполнить поиск не только по одной строке, но и по нескольким строкам, то можно использовать другую функцию preg_match_all():

preg_match_all('/[(.*?)]/s', $string, $matches);

Здесь суффикс "s" используется для указания режима DOTALL, который обрабатывает символ перевода строки как любой другой символ.

Надеюсь, это подробное объяснение помогло вам понять, как использовать регулярное выражение для извлечения значений в квадратных скобках в PHP.