• 技术文章 >php教程 >php手册

    PHP采集利器:根据开始字符串和结束字符串截取需要的采集内容数

    2016-06-06 19:35:26原创456

    PHP采集利器:根据开始字符串和结束字符串截取需要的采集内容数据,纯PHP函数高性能实现,无正则,效率一流,支持单个截取或者数组形式截取,第一组截取失败,就执行第二套截取方案,以此类推。。。 支持多种字符编码格式! $str=1234567890; var_dump(strCut

    PHP采集利器:根据开始字符串和结束字符串截取需要的采集内容数据,纯PHP函数高性能实现,无正则,效率一流,支持单个截取或者数组形式截取,第一组截取失败,就执行第二套截取方案,以此类推。。。

    支持多种字符编码格式!

    $str = '1234567890';

    var_dump(strCutByStr($str, '2', '9'));//输出 345678
    var_dump(strCutByStr($str, array('a', '4'), array('b', '7')));//输出 56,因为第一组匹配没有找到,就执行第二组,以此类推 <无>
    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);
    	}
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:仅用自增自减运算实现加减乘除 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • php利用新浪接口查询ip获取地理位置• 使用PHP 5.0 轻松解析XML文档(4)• PHP保存带BOM文件的方法,• smarty模板引擎从php中获取数据的方法,smarty模板• PHP 修改RAR文件注释及添加压缩文档讲解
    1/1

    PHP中文网