Methods to remove specific characters from string?

前端 未结 3 961
日久生厌
日久生厌 2020-11-29 08:13

I need to remove the brackets \"[\" and \"]\" from $widget_text in the variable value below and store the result in $widget_id.

$wi         


        
相关标签:
3条回答
  • 2020-11-29 08:50

    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...

    0 讨论(0)
  • 2020-11-29 08:58

    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
                 );
    
    0 讨论(0)
  • 2020-11-29 09:10
    $widget_id = str_replace('[', '', str_replace(']', '', $widget_text));
    
    0 讨论(0)
提交回复
热议问题