strip_tags去掉HTML标签失败

现在有这样一个需求:

编辑器里面可以插入图片,添加新闻的内容,现在要从新闻的内容中截取一部分的文字,作为该篇新闻的描述,怎样做简单?

思路:

先用strip_tags函数去掉HTML标签,然后用 msubstr(这个函数不是TP自带的,需要手动加上)函数截取字符串

问题:

strip_tags函数去掉HTML标签,失败

解决办法:

先用htmlspecialchars_decode($news_content)把一些预定义的 HTML 实体转换为字符,然后msubstr($str)

$news_content=htmlspecialchars_decode($news_content);

$news_content=msubstr($news_content);

msubstr函数:

function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)

{
if(function_exists("mb_substr")){

if($suffix)

return mb_substr($str, $start, $length, $charset)."...";

else

return mb_substr($str, $start, $length, $charset);

}

elseif(function_exists(‘iconv_substr‘)) {

if($suffix)

return iconv_substr($str,$start,$length,$charset)."...";

else

return iconv_substr($str,$start,$length,$charset);

}

$re[‘utf-8‘] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef]
[x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";

$re[‘gb2312‘] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/";

$re[‘gbk‘] = "/[x01-x7f]|[x81-xfe][x40-xfe]/";

$re[‘big5‘] = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/";

preg_match_all($re[$charset], $str, $match);

$slice = join("",array_slice($match[0], $start, $length));

if($suffix) return $slice."…";

return $slice;

}

时间: 2024-10-18 12:08:02

strip_tags去掉HTML标签失败的相关文章

PHP中去掉HTML标签

 平时用我们使用htmlspecialchars() 来过滤html, 但是把html的字符转义了,最后显示出来的就是html源代码. 利用strip_tags()就可以把html标签去除掉. <?php $str = '<a href="#">href</a>'; //echo htmlspecialchars($str); echo strip_tags($str); ?> 很多网站首页都有一片文章的一小部分.在这里就要使用strip_tag

python去掉html标签

s = '<SPAN style="FONT- SIZE: 9pt">开始1~3<SPAN lang=EN-US>& lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></SPAN>' import re d = re.sub('<[^

去掉a标签超链接的虚线框的方法

去掉a标签超链接的虚线框的方法,需要的朋友可以参考下. a{ blr:expression(this.onFocus=this.blur()); /* IE Opera */ outline:none; /* FF Opera */ } a:focus{ -moz-outline-style: none; /* FF */ } 全 局控制 CSS实现 a{blr:expression(this.onFocus=this.close());} /* 只支持IE,过多使用效率低 */ a{blr:e

去掉a标签的下划线

<a>标签的伪类样式 一组专门的预定义的类称为伪类,主要用来处理超链接的状态.超链接文字的状态可以通过伪类选择符+样式规则来控制.伪类选择符包括: 总: a          表示所有状态下的连接 如 a{color:red} ① a:link:未访问链接 ,如 a:link {color:blue} ② a:visited:已访问链接 ,如 a:visited{color:blue} ③ a:active:激活时(链接获得焦点时)链接的颜色 ,如 a:active{color:blue} ④

Python3正则去掉HTML标签

Python3正则去掉HTML标签 1.引用一段代码 import re html = '<pre class="line mt-10 q-content" accuse="qContent">目的是通过第一次soup.find按class粗略筛选并通过soup.find_all筛选出列表中的a标签并读入href和title属性<br><br>但是由于目标链接可能有图片链接,而这是我不想要的.请问如何去除?<br>&l

iOS 去掉html标签 留下原本的字符串

做开发有的时候会遇到服务器返回的数据是html的,我们可以选择直接用webview来加载的方式去处理,当然这个方法不适用所有场景,通常我们会选择把没有必要的html标签去掉留下需要的文字信息,现在一起来看看吧. 首先提供一个html标签的字符串 NSString *html = @"<p><span style=\"font-family:宋体\">劳动是人类创造物质或精神财富的活动,有体力的,也有脑力的.我们自己是劳动者,也是别人劳动的见证者.劳动存

java 去掉html标签(Java中去掉网页HTML标记的方法 )--正则表达式

参考: http://www.cnblogs.com/newsouls/p/3995394.html http://blog.csdn.net/he20101020/article/details/21228311 内容: package utils; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 注:\n 回车(\u000a) * \t 水平制表符(\u0009) * \s 空格(\u0008) *

去掉img标签周围的空白

我们在页面布局的时候,明明已经去掉了所有标签的margin和padding,img标签周围依然会有空白,解决方法有以下几种: 1.给img标签设浮动: img{ float:left; } 2.将img转换为块状: img{ display:block; } 3.img标签默认的vertical-align是baseline,也就是与字母x的下边距对齐,因此可以这样: img{ vertical-align:top; } 4.给父级设置font-size: <style> div{ font-

java 去掉html标签

使用正则表达式删除HTML标签. import java.util.regex.Matcher; import java.util.regex.Pattern; public class HTMLSpirit{ public static String delHTMLTag(String htmlStr){ String regEx_script="<script[^>]*?>[\\s\\S]*?<\\/script>"; //定义script的正则表达式