Search code examples
phpstringsubstring

PHP substring extraction. Get the string before the first '/' or the whole string


I am trying to extract a substring. I need some help with doing it in PHP.

Here are some sample strings I am working with and the results I need:

home/cat1/subcat2 => home

test/cat2 => test

startpage => startpage

I want to get the string till the first /, but if no / is present, get the whole string.

I tried,

substr($mystring, 0, strpos($mystring, '/'))

I think it says - get the position of / and then get the substring from position 0 to that position.

I don't know how to handle the case where there is no /, without making the statement too big.

Is there a way to handle that case also without making the PHP statement too complex?


Solution

  • Use explode()

    $arr = explode("/", $string, 2);
    $first = $arr[0];
    

    In this case, I'm using the limit parameter to explode so that php won't scan the string any more than what's needed.