Skip to content
Advertisement

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?

Advertisement

Answer

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.

User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement