php删除字符串末尾指定字符

时间:2016-11-04
有时候我们需要删除一个字符串中的指定字符,而且只有该字符在末尾时才会删除,在其他位置出现的该字符则不删除,这时候我们该如何使用php代码来实现呢?具体源码请看下面讲解。

需求如下:

删除在末尾出现的字符串"string",其他位置出现的“string”则保留, 比如:

"this is a test string" ->  "this is a test "
"this string is a test string" - > "this string is a test "
"this string is a test" -> "this string is a test"

该如何实现呢?这里有两种实现方法。

1、使用preg_replace函数

具体源码如下:

$new_str = preg_replace('/string$/', '', $str);

2、使用substr函数

源码如下:

$substring = 'string';
/* http://www.manongjc.com/article/1588.html */
$str = "this string is a test string";
if (substr($str,-strlen($substring))===$substring) 
    $str = substr($str, 0, strlen($str)-strlen($substring));