文档章节

PHP采集利器:根据开始字符串和结束字符串截取需要的采集内容数据,纯PHP函数高性能实现,支持多种

h
 hanbingtel
发布于 2015/06/13 12:06
字数 253
阅读 18
收藏 0
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);
    }

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

支持多种字符编码格式!

$str = '1234567890';

var_dump(strCutByStr($str, '2', '9'));//输出 345678
var_dump(strCutByStr($str, array('a', '4'), array('b', '7')));//输出 56,因为第一组匹配没有找到,就执行第二组,以此类推

本文转载自:http://www.oschina.net/code/snippet_1274341_39239

共有 人打赏支持
h
粉丝 0
博文 11
码字总数 1992
作品 0
济南
iconv 中文截断问题的解决方法

iconv 中文截断问题的解决方法 今天做了一个采集程序,原理很简单,使用curl方法把对方页面的html获取分析,然后正则提取需要的数据并保存在数据库。 由于对方页面是GB2312编码,而本地使用的...

蜗牛奔跑
2016/03/08
18
0
使用PHP相关函数对字符串格式化的方法

通常情况下,网站后台程序在使用用户输入的字符串(一般都是通过HTML表单提交)之前,都必须对这些字符串进行格式化处理,以便使其符合程序运行的标准,防止错误和漏洞的产生。在下面的内容中...

coko
2013/07/16
0
0
【php中的curl】php中curl的详细解说

我们先来认识下什么是cURL,简单介绍下什么是cURL: cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, D...

雍雍_yoyo
2015/11/09
0
0
使用PHP做网页采集实例过程总结

最近有个任务是需要我检查一些网站,如果纯手工检查的话,感觉既费时又无聊。所以我就想用采集。思路其实很简单,先把网站的源码采集下来,然后用正则表达式去匹配符合的链接,最后把标题和网...

章郎虫
2013/12/27
0
0
PHP采集相关教程之一 CURL函数库

先写一个简单的抓取页面函数 [php] view plaincopy <?php function GetSources($Url,$User_Agent='',$Referer_Url='') //抓取某个指定的页面 { //$Url 需要抓取的页面地址 //$User_Agent 需要......

蜗牛奔跑
2015/06/26
181
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java并发备忘

不安全的“先检查后执行”,代码形式如下: if(条件满足){ //这里容易出现线程安全问题//doSomething}else{//doOther} 读取-修改-写入 原子操作:使用CAS技术,即首先从V中读取...

Funcy1122
今天
0
0
SpringBoot2.0 停机

最近新建了个SpringBoot2.0的项目,因为原来一直使用的是传统的Tomcat部署war包的形式,所以这次SpringBoot内置Tomcat部署jar包的时候遇到了很多问题。其中一个就是因为没有外置的Tomcat容器...

Canaan_
昨天
0
1
Confluence 6 外部参考

一个外部参考的意思是任何站点链接到你 Confluence 的实例。任何时候当 Confluence 的用户单击这个外部链接的时候,Confluence 可以记录这次单击为参考。 在默认的情况下,外部链接的参考链接...

honeymose
昨天
0
0
Android中的设计模式之抽象工厂模式

参考 《设计模式解析》 第十一章 Abstract Factory模式 《设计模式:可复用面向对象软件的基础 》3.1 Abstract Factory 抽象工厂 对象创建型模式 《Android源码设计模式解析与实战》第6章 创...

newtrek
昨天
0
0
Redis | 地理空间(GEO)的一个坑

Redis的地理空间(Geo)是个好东西,轻轻松松的就可以把地图描点的问题处理了, 最近却遇到一个坑...Redis采用的Msater-Slave模式, 运用GEORADIUS在salve读取对应的数据,新增了从节点但是从不返...

云迹
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部