去除重复嵌套的html标签函数
去除重复嵌套的html标签
function strip_multi_tags($str, $tag = 'div'){
preg_match_all('/<'.$tag.'>|<\/'.$tag.'>/is', $str, $matched);
$divs = $matched[0];
$pairs = array();
foreach($divs as $k => $v){
if($v == '<'.$tag.'>'){
$begin_keys[] = $k;
} else {
$bk = array_pop($begin_keys);
if(!is_null($bk)){
$pairs[$bk] = $k;
}
}
} $datas = preg_split('/<'.$tag.'>|<\/'.$tag.'>/is', $str);
$result = '';
foreach($datas as $k => $v){
if(isset($datas[$k+1]) && strlen(trim($datas[$k+1])) == 0
&& isset($pairs[$k]) && isset($pairs[$k+1])
&& ($k+1 + $pairs[$k+1]) == ($k + $pairs[$k]))
{
unset($divs[$k], $divs[$pairs[$k]]);
}
$result .= (strlen(trim($v))? $v: ''). (isset($divs[$k])? $divs[$k]: '');
}
return $result;
}
去除重复嵌套的html标签函数的更多相关文章
- SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。
top关键字:写在select后面 字段的前面 比如你要显示查询的前5条记录,如下所示: select top 5 * from Student 一般情况下,top是和order by连用的 orde ...
- SQL变量、Substring、charindex、case函数、去除重复
isnull(aa,0)删除表数据: truncate table aaa 添加字段: ALTER TABLE table1 ADD col1 varchar(200) DEFAULT '2008 ...
- 二维数组去除重复值和array_unique函数
今天遇到了一个问题,就是从数据库中去除的数组为一个二维数组,现在就是想将二位数组进行去重,但是在php中,对于一个一维数组,我们可以直接使用php的系统函数array_unique,但是这个函数不能对 ...
- java去除重复的字符串和移除不想要的字符串
在java开发中碰到了有些字符串是重复的,如果在进行业务处理要全部遍历太对的数据就会重复,所以在进行业务处理前进行一个去重操作. 这里由于业务需要所以先将字符串转化为string数组,使用split分 ...
- 一个大小为N的数组,里面是N个整数,怎样去除重复的数
题目:一个大小为N的数组,里面是N个整数,怎样去除重复的数字: 要求时间复杂度为O(n),空间复杂度为O(1). 需要除掉重复的整数的数组,注意这里我没有处理负数情况,其实负数情况只要先用0快排分一下 ...
- js去除字符串中所有html标签及 符号
近日在做项目的时候,经常会在页面上处理一些数据.结果发现自己js掌握的并不是很好.那就在这里记录js的点点滴滴吧. 1. 去除字符串中的 html 标签 function delHtmlTag(str ...
- PHP中通过sqlsrv调用存储过程——成绩排名去除重复字段的数据行
培训考试项目中,需要实现考试成绩排名:排名参考项为分数(score降序).参加日期(attendtime升序).第几次参加考试(frequency升序):并且,每个用户只保留一条数据(pid). 考试 ...
- js 两数组去除重复数值
//两数组去除重复数值 mergeArray: function(arr1, arr2) { for (var i = 0; i < arr1.length; i++) { for (var j ...
- PHP去除重复的数组数据
PHP去除重复的数组数据 <?php $input = array("a" => "green","", "red&q ...
随机推荐
- 学习wavenet_vocoder之环境配置
WaveNet vocoder位于github的位置,https://github.com/r9y9/wavenet_vocoder 一.配置时的环境 操作系统:win10 python环境工具:An ...
- cookie存储userID所遇到的问题
*)问题:control charater in cookie value or attribute 转自:https://blog.csdn.net/weixin_36380516/article/ ...
- mui初级入门教程(五)— 聊聊即时通讯(IM),基于环信 web im SDK
文章来源:小青年原创发布时间:2016-06-15关键词:mui,环信 web im,html5+,im,页面传值,缓存转载需标注本文原始地址: http://zhaomenghuan.github. ...
- SQLserver基础--连接查询、联合查询、索引
一.子查询补充: Exists的用法:select*from haha where exists(select*from bumen where bumen.code=haha.bumen,and b ...
- jni中arm64-v8a,armeabi-v7a,armeabi文件夹的意义和用法<转>
jni中arm64-v8a,armeabi-v7a,armeabi文件夹的意义和用法 起因 之前并没有关注这块,直到:您的应用被拒绝,原因:xplay5sQ心里点击笑值点击拍照显示停止运行,查看发过来 ...
- Zipf's law
w https://www.bing.com/knows/search?q=马太效应&mkt=zh-cn&FORM=BKACAI 马太效应(Matthew Effect),指强者愈强. ...
- audit的日志
audit审计, audio 声音, 音频 audit的日志, 有两个可能的地方: 一是, /var/log/messages 文件中 二是, 如果开启了audit服务, 则 在/var/log/au ...
- such as, for example, include和contain
such as 后接动词,通常用动名词,有时也可用动词原形 for example 后接动词,用动名词 include vt. 包含,包括 后接动词,用动名词 英英: If one thing inc ...
- Jmeter之完整的HTTP接口测试
目前很多接口都是基于HTTP的,所以针对HTTP接口测试的了解很重要,下面就简单说明一下,一个基于Jmeter上HTTP接口测试需要的内容. 一.一个HTTP接口测试需要最基础的内容 如下: 简单说明 ...
- excel实现筛选去重操作
前情提要: 做图表时,希望更新数据后能自动化更新图表,需要各种公式之间相互配合.此时的需求是,将A表中的不同用户登录的地点做一个图表统计. 1.创建透视表 以用户id和地点当做行标签制作透视表,透视表 ...