Rowan Rowan - 5 months ago 19
PHP Question

Trim only the first and last occurrence of a character in a string (PHP)

This is something I could hack together, but I wondered if anybody had a clean solution to my problem. Something that I throw together wont necessarily be very concise or speedy!

I have a string like this

///hello/world///
. I need to strip only the first and last slash, none of the others, so that I get a string like this
//hello/world//
.

PHP's
trim
isn't quite right right: performing
trim($string, '/')
will return
hello/world
.

One thing to note is that the string won't necessarily have any slashes at the beginning or end. Here are a few examples of what I would like to happen to different strings:

///hello/world/// > //hello/world//
/hello/world/// > hello/world//
hello/world/ > hello/world


Thanks in advance for any help!

Answer Source

First thing on my mind:

if ($string[0] == '/') $string = substr($string,1);
if ($string[strlen($string)-1] == '/') $string = substr($string,0,strlen($string)-1);