Доступно несколько методов, и иногда их можно выполнить для выполнения одной и той же задачи, например preg_replace / str_replace. Но, возможно, вы хотите удалить скобки только с начала или конца строки; в этом случае preg_replace работает. Но, если может быть несколько скобок, preg_replace тоже справится с этой задачей. Но обрезка легче и имеет больше смысла.
preg_replace () - удаляет начальные и конечные скобки
$widget_id = preg_replace(array('/^\[/','/\]$/'), '',$widget_text);
str_replace () - это убирает скобки в любом месте текста
$widget_id = str_replace(array('[',']'), '',$widget_text);
trim () - обрезает скобки от начала и до конца
$widget_id = trim($widget_text,'[]')
substr () - выполняет то же самое, что и trim () (при условии, что текст виджета не содержит закрывающих скобок внутри текста)
$widget_id = substr($widget_text,
$start = strspn($widget_text, '['),
strcspn($widget_text, ']') - $start
);