PHP removing a character in a string

前端 未结 4 2101
太阳男子
太阳男子 2020-12-15 15:37

My php is weak and I\'m trying to change this string:

http://www.example.com/backend.php?/c=crud&m=index&t=care
                                   ^
         


        
相关标签:
4条回答
  • 2020-12-15 15:46
    $str = preg_replace('/\?\//', '?', $str);
    

    Edit: See CMS' answer. It's late, I should know better.

    0 讨论(0)
  • 2020-12-15 15:48
    $splitPos = strpos($url, "?/");
    if ($splitPos !== false) {
        $url = substr($url, 0, $splitPos) . "?" . substr($url, $splitPos + 2);
    }
    
    0 讨论(0)
  • 2020-12-15 15:49

    While a regexp would suit here just fine, I'll present you with an alternative method. It might be a tad faster than the equivalent regexp, but life's all about choices (...or something).

    $length = strlen($urlString);
    for ($i=0; $i<$length; i++) {
      if ($urlString[$i] === '?') {
        $urlString[$i+1] = '';
        break;
      }
    }
    

    Weird, I know.

    0 讨论(0)
  • 2020-12-15 15:56

    I think that it's better to use simply str_replace, like the manual says:

    If you don't need fancy replacing rules (like regular expressions), you should always use this function instead of ereg_replace() or preg_replace().

    <?
    $badUrl = "http://www.site.com/backend.php?/c=crud&m=index&t=care";
    $goodUrl = str_replace('?/', '?', $badUrl);
    
    0 讨论(0)
提交回复
热议问题