Home  >  Article  >  php教程  >  php删除字符串末尾子字符,删除开始字符,删除两端字符

php删除字符串末尾子字符,删除开始字符,删除两端字符

WBOY
WBOYOriginal
2016-06-06 19:49:041131browse

今天在处理删除字符串两端的特定字符时遇到了下面的问题,先看例子 $str = 'akmumu/writedb.json'; 我要做的是删除开始的akmumu,再删除末尾的.json,这样只保留有用的字符/writedb 开始我使用的ltrim删除akmumu,再使用rtrim删除.json 结果发现我理解trim错

今天在处理删除字符串两端的特定字符时遇到了下面的问题,先看例子

 
$str = 'akmumu/writedb.json';

我要做的是删除开始的akmumu,再删除末尾的.json,这样只保留有用的字符/writedb

开始我使用的ltrim删除akmumu,再使用rtrim删除.json

结果发现我理解trim错误了,trim的参数如下

rtrim(string,charlist)

他的参数时charlist,也就是不一定按照顺序查找,比如我给一个

$str = 'akmumu/writedbsojn.json';

结果还是/write,我想要的/writedbsojn没有出现,也就是说只要charlist中的任意字符匹配就一直这么下去了。。。

所以就用别的了

str_replace,substr_replace即可

安全起见,增加了代码,防止再截取错误

 

if(strpos($str,'akmumu/') !== FALSE
	$str = substr($str,7);
	if(strpos($str,'.json') !== FALSE)
	{
		if(substr($str,-5,5) == '.json')
		{
			$str = substr_replace($str,'',-5);
		}
	}	
}


 这样就可以了

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn