I want to change a string in PHP by deleting the first and the last char but ONLY IF they are equal.
Let me give some examples:
' abc ' should become 'abc'
'abc a' should become 'bc '
' abc a' should not change
How do I do it?
Thanks for the help, the regex based solution works.
You can use the regex:
$str = preg_replace('~^(.)(.*)\1$~','$2',$str);
Regex explanation:
~ : Delimiters^ : Start anchor(.) : match and remember a char (
here its the first char)(.*) : match anything and remember\1 : recall the first match$ : End anchor$2 : recall the 2nd matchAlternatively you can do:
// if string has >1 char and 1st and last char as same.
if(strlen($str) > 1 && $str[0] == $str[strlen($str)-1]) {
$str = substr($str,1,strlen($str)-2); // extract the substring
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With