文档章节

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

h
 hanbingtel
发布于 2015/06/13 12:06
字数 253
阅读 18
收藏 0
点赞 0
评论 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
博文 7
码字总数 1992
作品 0
济南
PHP cURL 应用

本文将通过案例,整合浏览器工具与PHP程序,教你如何让数据 唾手可得 。 对于做过数据采集的人来说,cURL一定不会陌生。虽然在PHP中有filegetcontents函数可以获取远程链接的数据,但是它的可...

BearCatYN ⋅ 2015/06/03 ⋅ 0

iconv 中文截断问题的解决方法

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

蜗牛奔跑 ⋅ 2016/03/08 ⋅ 0

使用PHP相关函数对字符串格式化的方法

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

coko ⋅ 2013/07/16 ⋅ 0

PHP采集 抓取

今天被安排做一下搜狐首页新闻部分抓取。本来很简单的事情,谁知到了搜狐页面抓过来的一直是乱码,怎么转都不行。只好深入研究了一下,也学到不少东西,写下来分享一下。 一、 什么是php采集...

idea_biu ⋅ 2012/08/22 ⋅ 1

php中如何截取中文字符串

众所周知php原生函数substr是不支持截取中文字符串的。下面的代码提供了多种截取php中文字符串的方法。 1. 截取GB2312中文字符串 <?php < ?php //截取中文字符串 function mysubstr($str, $s...

lrxing ⋅ 2013/05/30 ⋅ 2

【php中的curl】php中curl的详细解说

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

雍雍_yoyo ⋅ 2015/11/09 ⋅ 0

使用PHP做网页采集实例过程总结

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

章郎虫 ⋅ 2013/12/27 ⋅ 0

PHP采集相关教程之一 CURL函数库

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

蜗牛奔跑 ⋅ 2015/06/26 ⋅ 0

PHP按符号截取字符串的指定部分

字符串截取在php开发中是比较常用的;而且对于截取的需求也有很多种;就比如说对url链接的操作:http://www.baijunyao.com/index.php/Home/Index/article/aid/12 有时我们想截取最后一个斜杠...

白俊遥 ⋅ 2015/08/20 ⋅ 0

起点R3最新版V5.5 发布,官方网站改版增加论坛

企业级搜索引擎 起点R3 5.5 发布了,R3是一个强大的,高性能的JAVA企业级搜索引擎产品,R3构建于Solr和Lucene之上,集成了POI、PDFBox和Apache Tika等第三方开源项目,在R3企业级搜索平台上,...

R3商业智能 ⋅ 2011/12/01 ⋅ 5

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vim介绍、vim颜色显示和移动光标、vim一般模式下移动光标、一般模式下复制粘贴剪切

VIM Vim 是 UNIX 文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff),语法高亮,全面的帮助系统,本地脚本(Vimscript),和便于选择的...

蛋黄Yolks ⋅ 16分钟前 ⋅ 0

springboot+mockito测试controller层遇到的问题

使用MockitoJUnitRunner测试的一个例子,原来报错无法找到bean, 类似的异常如下:createBeanError..... 原因:是因为@Runwith使用了SpringRunner,应该修改为MockitoJUnitRunner 代码如下: ...

writeademo ⋅ 28分钟前 ⋅ 0

关于“幂等”操作

一个幂等(idempotent)操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同. 开发中, 我们经常考虑幂等操作的场景有“接口调用”、“MQ消费”、“自动任务”等 接口调用, 可能出现...

零二一七 ⋅ 36分钟前 ⋅ 0

Dubbo服务服务暴露之ProxyFactory Invoker

Dubbo服务暴露过程中有涉及到调用ProxyFactory 中方法获取Invoker对象的过程,现在我们来深究下源码,来看下这个过程是在做些什么,返回的Invoker 对象是什么,我们来看一下代码的切入点: ...

哲别0 ⋅ 50分钟前 ⋅ 0

GP两种连接方式性能测试

GP两种连接方式性能测试 Pivotal import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class GPQueryStrin......

仔仔1993 ⋅ 54分钟前 ⋅ 0

jsonrpc-4j代码解析

解析文件 AutoJsonRpcServiceImplExporter JsonServiceExporter AutoJsonRpcServiceImplExporter 路径:com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImplExporter AutoJsonRpcServi......

郭恩洲_OSC博客 ⋅ 今天 ⋅ 0

百度搜索

from selenium import webdriver import time brower=webdriver.Firefox() brower.get('http://www.baidu.com') input=brower.find_element_by_id('kw') input.send_keys('中南大学') time.s......

南桥北木 ⋅ 今天 ⋅ 0

tomcat 日志记录器

1、日志记录器是记录消息的组件 日志记录器需要与某个servlet 容器相关联 2、Logger 接口 共定义了5种日志级别:FATAL、ERROR、WARNING、INFORMATION、DEBUGGER setVerbosity 设置级别 setC...

职业搬砖20年 ⋅ 今天 ⋅ 0

Thrift RPC实战(三) Thrift序列化机制

1.Thrift基础架构 Thrift是一个客户端和服务端的架构体系,数据通过socket传输; 具有自己内部定义的传输协议规范(TProtocol)和传输数据标准(TTransports); 通过IDL脚本对传输数据的数据结构...

lemonLove ⋅ 今天 ⋅ 0

网站建设就要像2018世界杯的俄罗斯队大杀四方[图]

今天心情不错,因为昨天晚上观看了世界杯比赛,尤其是对俄罗斯队的大杀四方感到十分霸气侧漏啊,因此我联想到了自己的博客网站,我的博客是去年年底上线的,一直想建设一个关于读书和读后感作...

原创小博客 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部