PHP採集利器:依据開始字符串和结束字符串截取须要的採集内容数据

function strCutByStr(&$str, $findStart, $findEnd = false, $encoding = 'utf-8'){
if(is_array($findStart)){
if(count($findStart) === count($findEnd)){
foreach($findStart as $k => $v){
if(($result = strCutByStr($str, $v, $findEnd[$k], $encoding)) !== false){
return $result;
}
}
return false;
}else{
return false;
}
} if(($start = mb_strpos($str, $findStart, 0, $encoding)) === false){
return false;
} $start += mb_strlen($findStart, $encoding); if($findEnd === false){
return mb_substr($str, $start, NULL, $encoding);
} if(($length = mb_strpos($str, $findEnd, $start, $encoding)) === false){
return false;
} return mb_substr($str, $start, $length - $start, $encoding);
}

举例:

$str = '1那是一场23我问问4567890维稳';

echo (strCutByStr($str, '那是', '稳'));//输出 一场23我问问4567890维

最新文章

  1. caffe pytho接口
  2. C#.NET如何不序列化字段、属性
  3. mysql操作类库--摘抄
  4. #316 div.2
  5. javax.servlet.ServletException: Servlet execution threw an exception 异常解决之一
  6. eAccelerator介绍
  7. python字符串连接的三种方法及其效率、适用场景详解
  8. 数据库范式(1NF 2NF 3NF BCNF)详解
  9. 关于safari上的select宽高问题小技,自定义下拉框
  10. JavaScript之Object拆解
  11. [Abp vNext 源码分析] - 2. 模块系统的变化
  12. jenkins结合gitlab实现提交代码自动构建
  13. [转] 合理使用npm version与npm dist-tag详解
  14. linux基础之用户登录信息查看命令
  15. MDK-ARM输出HEX文件重命名设置
  16. UnicodeEncodeError: 'gbk' codec can't encode character '\u25aa' in position 15: illegal multibyte sequence
  17. C# 抽象类和密闭方法
  18. RSA密钥生成、加密解密、签名验签
  19. 对HashMap的理解(一):HashMap的实现
  20. ubuntu 卡在登陆界面无法进入桌面,但是可以进入命令行界面

热门文章

  1. git命令行使用帮助
  2. Comparable<T> 和 Comparator<T>
  3. erlang debug
  4. what is a process?
  5. Xsolla和Crytek合作,对游戏战争前线推出全新支付方式
  6. SpringMVC和Springboot的区别(网摘)
  7. 编写 Matlab mexFunction (C mex)
  8. VS2010 打包生成exe文件后 执行安装文件出现 TODO:<文件说明>已停止工作并已关闭
  9. Redis五大数据结构
  10. 【BZOJ】【1876】【SDOI2009】SuperGCD