php截取剩余部分,PHP从字串中截取一部分,支持使用(*)模糊截取
《PHP从字串中截取一部分,支持使用(*)模糊截取》要点:
本文介绍了PHP从字串中截取一部分,支持使用(*)模糊截取,希望对您有用。如果有疑问,可以联系我们。
有时会有这种需求,就是从一串代码或字符中,根据提供的开始内容和结束内容来截取中间部分。
如果开始和结束内容是固定的,很容易操作,这里不详解。但是如果不是固定的,允许模糊匹配截取,那这里函数就是用于这种需求。
示例代码:$con=<<
示例代码
这是内容标题
内容部分! 维易PHP函数,可以模糊截取一段文字,随意的测试代码,用于测试PHP函数
- 列表
- PHP函数
- 马上测试吧
END;
假如要截取h1下面的span一块,这串代码中,起点可以用,但如果结束部分
PHP代码:$start="
(*)
"; # 或''
$end='
echo extract_BoxSplit ($con, $start, $end);
函数extract_BoxSplit:function extract_BoxSplit( $html ,$startStr, $endStr )
{
if(stripos ($startStr, '(*)')===false){
$start = stripos ( $html , $startStr);
}else{
$starReg = preg_quote ($startStr);
$starReg = str_replace ('#','\#',$starReg);
$starReg= str_replace ( ['\(\*\)', '(*)'] ,'.*?', $starReg );
preg_match ( "#{$starReg}#is", $html ,$mStart, PREG_OFFSET_CAPTURE, 0 );
$start= !empty($mStart) ? $mStart[0][1] : false;
}
if($start===false) {
$error = '没有在内容中发现设置的区块起点代码。';
return false;
}
$start += (stripos ($startStr, '(*)')!==false && !empty($mStart)) ? strlen ($mStart[0][0]) : strlen( $startStr);
if(stripos ($endStr, '(*)')===false){
$end = stripos ( $html , $endStr , $start);
}else{
$endReg = preg_quote ($endStr);
$endReg = str_replace ('#','\#',$endReg);
$endReg= str_replace (['\(\*\)', '(*)'],'.*?', $endReg );
preg_match ( "#{$endReg}#is", $html,$mEnd, PREG_OFFSET_CAPTURE, $start );
$end= !empty($mEnd) ? $mEnd[0][1] : false;
}
if($end===false) {
$error = '没有在内容中发现设置的区块终点代码。';
return false;
}
$str = substr ( $html, $start, $end-$start);
return $str;
}
提取结果:内容部分! 维易PHP函数,可以模糊截取一段文字,随意的测试代码,用于测试PHP函数
php截取剩余部分,PHP从字串中截取一部分,支持使用(*)模糊截取相关推荐
- @有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不...
@有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中 2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不加@那么需要用一些转义符\来显示一些特 ...
- (筆記) 如何在字串中從指定字元抓到指定字元(pointer版)?
Abstract 這是一個實務上常用的功能,可惜在C語言的string.h並沒有提供,本文實作出一個小function達到此功能,並搭配pointer. Introduction 在(筆記) 如何在字 ...
- (筆記) 如何在字串中從指定字元抓到指定字元(pointer版)? (C/C++) (C)
Abstract 這是一個實務上常用的功能,可惜在C語言的string.h並沒有提供,本文實作出一個小function達到此功能,並搭配pointer. Introduction 在(筆記) 如何在字 ...
- c语言如何判断当前是 空字符,c语言如何判断字串中没有没有某个字元?
c语言如何判断字串中没有没有某个字元?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! c语言如何判断字串中没有没有某个字 ...
- 求有多少个连续字串中所有的字母都出现了偶数次
给出一个长度为 n 的字符串(1<=n<=100000),求有多少个连续字串中所有的字母都出现了偶数次. http://acm.upc.edu.cn/problem.php?id=1001 ...
- (筆記) 如何在字串中從指定字元抓到指定字元? (C/C++) (C)
Abstract 這是一個實務上常用的功能,可惜在C語言的string.h並沒有提供,本文實作出一個小function達到此功能. Introduction 比如說一個字串為[10,20],希望從逗號 ...
- 04-String——课后作业1:字串加密
题目:请编写一个程序,加密或解密用户输入的英文字串要求设计思想.程序流程图.源代码.结果截图. 程序设计思想:首先由用户选择是加密还是解密,利用String类中的charAt函数依次取出字串中的字符, ...
- c语言中常量单双引号,C语言常量中字元与字串 除了单引号与双引号的区别外,还有什么不同。...
C语言常量中字元与字串 除了单引号与双引号的区别外,还有什么不同.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C语言 ...
- Python字串(string)基础与20种常见操作
多数的程式设计师,处理字串的次数远比数字还要多. 程式设计给人的印象通常是会使用到许多数学,也是不少人对学程式语言感到惧怕的原因. 但其实程式设计的实务上,处理文字字串(string)的频率远比数字高 ...
最新文章
- WebApi发送HTML表单数据:文件上传与多部分MIME
- ASIC与FPGA能达到的频率差异巨大是为什么
- AS3中的序列化与反序列化
- CubieBoard开发板数据源介绍
- JS中自定义replace可替换特殊符号$等,但无法忽略大小写的函数
- JavaScript学习笔记(7)PC端网页特效(略)
- php不发送referer,php – 注意:未定义的索引:HTTP_REFERER
- 周博磊自述5年研究经历:一个神经元的价值和一个神经病的坚持
- Service Worker的应用
- Gartner 2021年IaaS+PaaS能力评估:亚马逊云科技排名第一
- PyTorch批训练及优化器比较
- 2020年ROS机器人操作系统用户官方调查
- IEEE论文latex模板
- 机器人 迷宫算法_机器人,迷宫和附属建筑
- Java面试智力题逻辑题汇总2021
- 宝塔面板无法卸载php,宝塔面板如何卸载
- MySQL gtid purge_MySQL中set gtid_purged的行为变更及对备份恢复的影响
- React-Pdf使用过程心得
- FPGA之乒乓Buffer
- 职场最高级的聪明是靠谱,到底一个人怎样才算真正靠谱?