php删除字符串末尾子字符,删除开始字符,删除两端
处理字符串:删除首尾特定字符及中间多余字符(实现代码详解)
在处理网站SEO优化时,我遇到了一个有趣的问题,需要对字符串进行特定字符的删除操作。例如,给定一个字符串 `$str = 'akmumu/writedb.json'`,我们需要删除开头的 'akmumu',末尾的 '.json',并保留中间的 '/writedb' 部分。
起初,我尝试使用 `ltrim()` 和 `rtrim()` 函数来删除字符串两端的字符。`ltrim()` 函数可以删除字符串左端的特定字符,而 `rtrim()` 函数则删除右端的字符。我发现它们的参数处理方式并非我所预期的那样简单。例如,当给定 `$str = 'akmumu/writedbsojn.json'` 时,使用 `rtrim()` 函数删除 '.json' 后,结果却是 '/write',而期望的 '/writedbsojn' 并未出现。这是因为 `rtrim()` 函数只要在其 charlist 参数中的任一字符匹配时就会进行删除操作。
为了解决这个问题,我选择了使用 `str_replace()` 和 `substr_replace()` 函数来实现更精确的控制。通过 `strpos()` 函数查找特定字符串的位置,然后使用 `substr()` 函数截取所需的部分。对于末尾的 '.json',我增加了一个判断条件来确保只删除真正的文件后缀而非其他位置的偶然匹配。具体的代码如下:
```php
if (strpos($str,'akmumu/') !== FALSE) {
$str = substr($str,7); // 删除 'akmumu/'
}
if (strpos($str,'.json') !== FALSE) {
if (substr($str,-5,5) == '.json') { // 确保删除的是真正的文件后缀 '.json'
$str = substr_replace($str,'',-5); // 删除末尾的 '.json'
}
}
```
这样,我们就可以精确地删除字符串两端的特定字符,并确保只保留所需的部分。通过这种方法,我们可以更加灵活地处理字符串,以应对不同的优化需求。这样写代码更加健壮和安全,避免了由于误操作导致的截取错误。这样处理字符串的代码如下:经过以上步骤处理后得到的字符串可以顺利满足我的需求。完成这些操作后,调用 `cambrian.render('body')` 进行渲染即可显示处理后的结果。
编程语言
- php删除字符串末尾子字符,删除开始字符,删除两端
- jQuery设置图片等比例缩小的方法
- php自定义函数截取汉字长度
- 教你几种在SQLServer中删除重复数据方法
- php数组函数array_walk用法示例
- jQuery 实现双击编辑表格功能
- 从零开始学习Node.js系列教程四:多页面实现数学
- git本地分支和stash内容报错消失的问题
- 完美解决spring websocket自动断开连接再创建引发的
- js实现用户离开页面前提示是否离开此页面的方法
- 推荐的用Asp实现屏蔽IP地址访问的代码
- vue实现div拖拽互换位置
- Javascript 两种刷新方法以及区别和适用范围
- 身份证校验算法与ASP程序
- 详解angular ui-grid之过滤器设置
- 深入分析使用mysql_fetch_object()以对象的形式返回查