【100分课题,水平中上等入】包含html标签的浏览器可视字符串截取函数,有点挑战哦

ashchen 2006-12-27 11:58:33
这个是asp版的
http://topic.csdn.net/t/20050203/16/3773727.html
例子:
abc<a href="">cde</a>ghi
我要截5个浏览器可视字符得到 abc<a href="">cd</a>
截取7个是:abc<a href="">cde</a>g
当然不只是标签,还有  <等特殊字符,这些要当成长度1,多个空白也当成长度1
截取之后还要保留标签,保证标签的完整性,支持GB汉字,当然能做出utf-8截取更好
写成函数

这个课题是我想出来的,但还没解出来,有兴趣的一起做
...全文
271 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloyou0 2006-12-29
  • 打赏
  • 举报
回复
开始标签入栈, 结束标签出栈,
截取到足够字符后, 如果栈内还有标签, 全部弹出, 以保证标签完整
(此方法适用于原标签匹配正确的情况, 如果是xhtml无问题, 对html内一些不符合xml标准的标签需要特别处理一下)
caotian2000 2006-12-29
  • 打赏
  • 举报
回复
有点意思
peterdoo 2006-12-29
  • 打赏
  • 举报
回复
如果标签不匹配怎么办?要自动fix吗?!
ashchen 2006-12-28
  • 打赏
  • 举报
回复
style="display:none"这种情况不考虑吧,文章里很少有这种,截的话一般是为了显示提要用的
Jaron 2006-12-28
  • 打赏
  • 举报
回复
试试我以前做的。

http://www.jaron.cn/chs_Products/60/2004-07/101709.shtml

希望对你有所帮助。
ashchen 2006-12-28
  • 打赏
  • 举报
回复
GB当然算2个字符,我的思路是正则把所有的标签提取出来放在一个数组,截好了再合并回去
ice_berg16 2006-12-28
  • 打赏
  • 举报
回复
那要是
ab<span style="display:none">c</span>dfdf<a href="">cde</a>g
怎么办?
visam168 2006-12-28
  • 打赏
  • 举报
回复
帮顶了。。
iasky 2006-12-28
  • 打赏
  • 举报
回复
学习了。
an9ryfr09 2006-12-28
  • 打赏
  • 举报
回复
GB汉字算1个字符,还是算2个字符?

想想思路先,传入一个长度参数,按照这个参数循环读取html源码,当碰到"<",到第一个">"时,当遇到"&"开头,到第一个";"结尾时,count不记数。

当count等于传入的参数时,退出循环。

基本上就是个html parse

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧