怎样防止截取摘要时将img标签截断?

来源:百度文库 编辑:神马文学网 时间:2024/06/04 17:32:08
CSDN -专家门诊 -
主  题: 怎样防止截取摘要时将img标签截断?
作  者: ccxxcc (cc小超)
信 誉 值: 100
所属论坛: Web 开发 PHP
问题点数: 200
回复次数: 16
发表时间: 2006-07-17 09:19:58
需要从一篇文章中截取前500个字符,做为文章摘要,怎样保证文章中的img标签不被截断?用正则能解决吗?
回复人: xuzuning(唠叨) ( ) 信誉:739 2006-07-17 09:55:00 得分:0
既然是 做为文章摘要 那么img标签就可以不要了吧???
Top
回复人: ccxxcc(cc小超) ( ) 信誉:100 2006-07-17 10:00:00 得分:0
可是项目的需求就是这样啊 摘要组成了文章列表 为了增加列表内容的吸引力,需要图片
Top
回复人: longjing_g(龙睛) ( ) 信誉:100 2006-07-17 10:24:00 得分:0
正则可以解决。将img 做一个开始和结束标记
Top
回复人: lantersen(蓝水仁) ( ) 信誉:100 2006-07-17 10:27:00 得分:0
鄙人认为:能不能对读取的内容判断下,再进行取舍,UP。
Top
回复人: chinahuman(铁匠) ( ) 信誉:111 2006-07-17 10:30:00 得分:0
那就是先取前五百,然后再后后面有没有未封装的HTML标签,如果有,再往后取几位,把标签封闭了。
Top
回复人: caotian2000() ( ) 信誉:100 2006-07-17 10:33:00 得分:0
我做的BLOG中程序也要这种功能,请哪位仁兄请指一二!如果有答案了最好也告诉我一下
Top
回复人: zeroleonhart(Strong Point:Algorithm) ( ) 信誉:100 2006-07-17 10:42:00 得分:0
I wanna know how you deal with the other html tags like table....
Top
回复人: keaizhong(可爱钟)(温州的PHPER)(19801010) ( ) 信誉:103 2006-07-17 10:44:00 得分:0
只有一个图片标签可以在取得500字之后再最后一段进行查寻判断,确定是否只截取了图片标签的半段。 不过感觉上也不是什么好办法,只是一个不是办法中的办法。嘿嘿。
Top
回复人: caotian2000() ( ) 信誉:100 2006-07-17 10:58:00 得分:0
问题是不光是图片啊Top
回复人: ccxxcc(cc小超) ( ) 信誉:100 2006-07-17 11:01:00 得分:0
我会把table div tr td不需要的标签全部去除 只留下内容 /** * Works like PHP function strip_tags, but it only removes selected tags. * Example: * strip_selected_tags(‘Person: Salavert‘, ‘strong‘) => Person: Salavert */ function strip_selected_tags($text, $tags = array()) { $args = func_get_args(); $text = array_shift($args); $tags = func_num_args() > 2 ? array_diff($args,array($text)) : (array)$tags; foreach ($tags as $tag){ if(preg_match_all(‘/<‘.$tag.‘[^>]*>(.*)<\/‘.$tag.‘>/iU‘, $text, $found)){ $text = str_replace($found[0],$found[1],$text); } } return $text; }
Top
回复人: xuzuning(唠叨) ( ) 信誉:739 2006-07-17 11:01:00 得分:0
对于含有html标记的文档(不仅只是img,可能还有其他的标记),需要使用不同于一般字符串截取的方法。 需要从一篇文章中截取前500个字符,做为文章摘要,怎样保证文章中的img标签不被截断?用正则能解决吗? TEXT; $ar = preg_split("/(<\/?[a-z].*?>)/is", $text, -1, PREG_SPLIT_ALL); print_r($ar); ?> 你可以看到,文档被分割成了数块 Array ( [0] => Array ( [0] => 需要从一篇文章中截取前500个字符,做为文章摘要,怎样保证文章中的img标签不被截断?用正则能解决吗? [1] => 0 ) [1] => Array ( [0] => [1] => 96 ) [2] => Array ( [0] => 需要从一篇文章中截取前500个字符,做为文章摘要,怎样保证文章中的img标签不被截断?用正则能解决吗? [1] => 113 ) [3] => Array ( [0] => [1] => 209 ) ) 数组元素的第二维分别是匹配到的内容和该内容在原文档中的位置 根据这些信息,你可以很方便的提取你需要的内容 通常摘要文字的长度是不包括html标记的
Top
回复人: caotian2000() ( ) 信誉:100 2006-07-17 11:19:00 得分:0
这个很棒啊,要是想截取
这样的正则应该怎么写? 还有要是 怎样防止截取摘要时将img标签截断? 怎样截取歌曲 怎样截取歌曲----..>> 怎样截取歌曲----..>> 怎样截取歌曲 怎样截取歌曲 怎样截取视频? 西藏否认建设水电站将截断雅鲁藏布江 IMG标签的onerror事件IMG的onerror妙用 - 懒人博客 购买瓷砖时怎样防止上当受骗? 怎样截取视频中的一小段? 怎样截取视频中的一小段?a 怎样截取视频中的一小段?.. 怎样截取视频中的一小段?. 怎样防止电脑中毒? 怎样防止头发花白 怎样防止衣物褪色 怎样防止衣服褪色? 怎样防止衣物褪色 将 Firefox 标签放到下面 怎样走向成功之路报告摘要 怎样走向成功之路报告摘要 怎样防止油在炸食品时产生酸辣味 人到中年怎样防止头发花白