Способы удаления определенных символов из строки?

Мне нужно удалить скобки «[» и «]» из $widget_text в приведенном ниже значении переменной и сохранить результат в $widget_id .

 $widget_text = '[widget_and-some-text]'; $widget_id = ?; 

Используйте preg_replace , str_replace или что-то еще?

Related of "Способы удаления определенных символов из строки?"

Существует несколько доступных методов, и иногда их можно выполнять для выполнения одной и той же задачи, например 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 ); 
 $widget_id = str_replace('[', '', str_replace(']', '', $widget_text)); 

Если скобки всегда находятся в первой и последней позиции, используйте следующее:

 $widget_id = substr($widget_text, 1, strlen($widget_text)-2); 

Я думаю, что это более быстрый способ …