php采集正则,php不用正则采集速度探究总结
注意:下面的所有函数都没有用正则。
以上为取出第一个匹配的三个函数,实现相同的目的
复制代码 代码如下:
function str_cut($str ,$start, $end) {//取出第一个匹配,效率最高,先分割再替换
$content = strstr( $str, $start );
$content = substr( $content, strlen( $start ), strpos( $content, $end ) - strlen( $start ) );
return $content;
}
function str_cut1($str ,$start, $end) {//取出第一个匹配,效率中,直接查找替换
$x = strpos($str, $start);
return substr($str, $x+strlen($start), strpos($str, $end)-$x+strlen($end));
}
function str_cut3($content,$start,$end){//取出第一个匹配,字符串越大,速度越慢!
$my = explode($start,$content);
$my = explode($end,$my[1]);
return $my[0];
}
以下为取出所有匹配的3个函数(全部原创),实现相同的采集目的
复制代码 代码如下:
function strcut($str ,$start, $end) //先搜个数,速度中等
{
if( strpos( $str , $start ) )
{
$sum = substr_count($str,$start);
$carr = array();
for($i=0;$i
$str = strstr( $str, $start );
$str = substr( $str, strlen($start));
$carr[] = substr( $str, 0, strpos( $str, $end ) );
}
}
return $carr;
}
function str_cut_all($str ,$start, $end,$carr=array()) //递归,运行效率最慢!
{
if( strpos( $str , $start ) )
{
$str = strstr( $str, $start );
$str = substr( $str, strlen($start));
$carr[] = substr( $str, 0, strpos( $str, $end ) );
if( strpos( $str , $start ) )
{
return str_cut_all($str ,$start, $end ,$carr );
}
}
return $carr;
}
function my_Ca($content,$start,$end){//取出所有匹配,效率最快,因为只读一次,字符串越大越明显
$m = explode($start,$content);
$a = array();
for( $i = 1;$i
{
$my = explode($end,$m[$i]);
$a[] = $my[0];
unset($my);
}
return $a;
}
注意my-Ca比较
如果这样写:
复制代码 代码如下:
function my_Ca($content,$start,$end){//取出所有匹配
$m = explode($start,$content);
$a = array();
$sum = count($m);
for( $i = 1;$i
{
$my = explode($end,$m[$i]);
$a[] = $my[0];
unset($my);
}
return $a;
}
速度又快了一些!
由上可以看出,并不是数组处理函数(explode)比字符串处理函数(substr等)慢,也不是那个比这个快,因为在匹配多个数据的时候匹配的越多数组函数的优势越大,处理字符串就象切蛋糕一样越切越小。匹配单个字符串运用切的思路去做也是一样的效果(str_cut)。关键还是在---算法!算法写的好,什么函数都是一样哦!
php采集正则,php不用正则采集速度探究总结相关推荐
- php正则匹配sg-nc-wap_php正则匹配
概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符串.常用的语言基本上都有正则表达式,如JavaScript.java等.其实,只有了解一种语言的正 ...
- 融合一致性正则与流形正则的半监督深度学习算法
融合一致性正则与流形正则的半监督深度学习算法 王杰1,2, 张松岩1,2, 梁吉业1,2 1山西大学计算机与信息技术学院 2计算智能与中文信息处理教育部重点实验室 摘要:半监督学习已被广泛应用于大数据 ...
- awk,sed,grep运用正则与扩展正则
1.正则与扩展正则的概述 2.示例 grep 过滤工具 ---格式:grep [选项] "正则表达式" 文件 egrep 过滤工具 ---格式:egrep [选项] "扩 ...
- 【编译原理】正则文法与正则式的等价性
正则文法到正规式的转换规则: 文法表达式 正则式 规则1 A->xB B->y A=xy 规则2 A->xA|y A=x*y 规则3 A->x A->y A=x|y 正则 ...
- L1正则和L2正则的比较分析
参考文献 1.L1正则和L2正则的比较分析详解 2.比较全面的L1和L2正则化的解释 3.正则化项L1和L2的区别 4.L1 相比于 L2 为什么容易获得稀疏解? 5.正则化L1和L2的区别 6.LR ...
- Java计算闰年计算1800-2050年任何一天下一天的日期,不用正则之穷举法(原创)
老样子,话不多说,直接上图.(有亿点长) package 数据结构和算法;import java.util.Scanner;public class a2022914 {public static v ...
- Python 爬虫复习之爬取笔趣阁小说网站(不用正则)
前言 小说网站-笔趣阁:URL:https://www.qu.la/ 笔趣阁是一个盗版小说网站,这里有很多起点中文网的小说,该网站小说的更新速度稍滞后于起点中文网正版小说的更新速度.并且该网站只支持在 ...
- WP采集插件教程不用谢规则的Wordpress采集
在SEO中一直有一句话"内容为王,外链为后",这是否可以说明内容是SEO种重要的一环呢?如果不是,那么你觉得seo中重要的是什么呢?seo每个环节都重要,而且每个环节都是紧紧相扣的 ...
- php正则 与 js正则
PHP中的正则表达式函数 在PHP中有两套正则表达式函数库.一套是由PCRE(Perl Compatible Regular Expression)库提供的.PCRE库使用和Perl相同的语法规则实现 ...
最新文章
- Java并发编程之CAS
- IBM X3650 M4服务器安装centos找不到硬盘的解决方法
- Linux 系统内存分析
- C++实现complex number复数的算法(附完整源码)
- shiro学习(10):servelet实现权限认证一
- PaperNotes(5)-Conditional Generative Adversarial Nets
- 原生html冻结表头,CSS如何实现表头冻结效果
- javascript window.open
- php关于apache配置,关于PHP和apache的配置
- WORD中如何进行双行合一
- 16家上市银行股票代码
- 假设检验之t检验详解
- 华为认证HCIP是什么?有什么用?
- Tbase数据库入坑记
- VS2010 中文版本
- 2021-01-19 灵动ICPC集训
- 弘辽科技:胡润研究院发布《2020胡润中国10强电商》榜单,第二名很意外
- python爬虫从入门到实践pdf百度云_PYTHON网络爬虫从入门到实践.pdf
- 订单系统设计 --- 订单中心存储方案
- OmniPlan 3 破解 中文
热门文章
- 【Linux】修改Linux操作系统字符集与Oracle数据库一致
- MYSQL主从不同步延迟原理分析及解决方案
- Mybatis与JDBC批量插入MySQL数据库性能测试及解决方案
- 解决 ModuleNotFoundError: No module named ‘requests‘ 问题
- 移动端HTML5音频与视频问题及解决方案
- 我不断收到“ Uncaught SyntaxError:意外令牌o”
- MISCONF Redis配置为保存RDB快照
- 编译用于高放射性环境的应用程序
- win11多桌面功能怎么使用 win11多桌面设置步骤
- 不可重复读和幻读的区别_面试官:MySQL的可重复读级别能解决幻读吗