php 切割html字符串,自动加上未结束的html标签
php切换html字符串的时候,就涉及到对html标签的切割,如果一个div只有开始,没有结束 当内容显示在文章中容易导致页面乱套。 br / 我辞职在家做我的网站的时候遇到了切割html字符串(
php切换html字符串的时候,就涉及到对html标签的切割,如果一个div只有开始,没有结束 当内容显示在文章中容易导致页面乱套。
我辞职在家做我的网站的时候遇到了切割html字符串(大家有时间帮我支持一下 易寻 http://www.yxsss.com)
我本来是像在网上搜索一个 但是都不理想
于是自己写了一个 简单 明了 感觉还好用 于是贴出来大家分享一下
我辞职在家做我的网站的时候遇到了切割html字符串(大家有时间帮我支持一下 易寻 http://www.yxsss.com)
我本来是像在网上搜索一个 但是都不理想
于是自己写了一个 简单 明了 感觉还好用 于是贴出来大家分享一下
/*截取html字符串
* @param $s 字符串
* @param $zi 长度
* @param $ne 没有结束符的html标签
*/
function G_htmlcut($s,$zi,$ne=',br,hr,input,img,'){
$s=preg_replace('/\s{2,}/',' ',$s);
$os=preg_split('/<[\S\s]+?>/',$s);
preg_match_all('/<[\S\s]+?>/',$s,$or);
$s='';
$tag=array();
foreach($os as $k => $v){
if($v!='' && $v!=' '){
$l=strlen($v);
for($i=0;$i<$l;$i++){
if(ord($v[$i]) > 127){
$s.=$v[$i].$v[++$i].$v[++$i];
}else{
$s.=$v[$i];
}
$zi--;
if($zi < 1){
break 2;
}
}
}
preg_match('/<\/?([^\s>]+)[\s>]{1}/',$or[0][$k],$t);
$s.=$or[0][$k];
if(strpos($ne,','.strtolower($t[1]).',')===false && $t[1]!='' && $t[1]!=' '){
$k=array_search('</'.$t[1].'>',$tag);
if($k!==false){
unset($tag[$k]);
}else{
array_unshift($tag,'</'.$t[1].'>');
}
}
}
return $s.implode('',$tag);
}
- 上一篇:使用内联框架的原型
- 下一篇:js的unicode的url编码和php转换
精彩图集
精彩文章






