I need to remove the brackets "[" and "]" from $widget_text in the variable value below and store the result in $widget_id.
$widget_text = '[widget_and-some-text]';
$widget_id = ?;
Use preg_replace, str_replace or so开发者_开发技巧mething else?
There are several methods available, and they can sometimes be made to perform exactly the same task, like preg_replace/str_replace. But, perhaps you want to remove brackets only from the beginning or end of the string; in which case preg_replace works. But, if there could be several brackets, preg_replace can do the job too. But trim is easier and makes more sense.
preg_replace() - removes beginning and trailing brackets
$widget_id = preg_replace(array('/^\[/','/\]$/'), '',$widget_text);      
str_replace() - this removes brackets anywhere in the text
$widget_id = str_replace(array('[',']'), '',$widget_text);
trim() - trims brackets from beginning and end
$widget_id = trim($widget_text,'[]')
substr() - does the same as trim() (assuming the widget text does not include any closing brackets within the text)
$widget_id = substr($widget_text,
                    $start = strspn($widget_text, '['),
                    strcspn($widget_text, ']') - $start
             );
$widget_id = str_replace('[', '', str_replace(']', '', $widget_text));
If the brackets are always at first and last position, use this:
$widget_id = substr($widget_text, 1, strlen($widget_text)-2);
I think this is a faster way...
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论