怎么样从HTML标签中拿出中文数据?
我从数据库中拿出一个值,值为:"<td>中国汽贸</td><td>我们公司成立于。。。。。。</td>"
我要在CS代码中做处理,判断字符长度大于20就截取20的长度,后面加上。。。
但是这个值HTML代码,截取时连HTML代码也算在内了,截出的数据不对
请问怎么样能把HTML代码全部去除掉,只截HTML代码内的数据的长度?
------解决方案--------------------切字不要在代码里面写不利于搜索引擎搜索
用样式切
width:120px; 表示了要显示的字符串物理宽度,单位px
white-space:nowrap; 表示不允许换行
overflow:hidden; 表示超出120px的字符不显示
text-overflow:ellipsis; 表示期于字符用…代替
------解决方案--------------------使用正则过滤掉html码,然后截取。
html正则表达式:
(<\/?)(?i:(?<element>a(bbr|cronym|ddress|pplet|rea)?|b(ase(font)?|do|ig|lockquote|ody|r|utton)?|c(aption|enter|ite|(o(de|l(group)?)))|d(d|el|fn|i(r|v)|l|t)|em|f(ieldset|o(nt|rm)|rame(set)?)|h([1-6]|ead|r|tml)|i(frame|mg|n(put|s)|sindex)?|kbd|l(abel|egend|i(nk)?)|m(ap|e(nu|ta))|no(frames|script)|o(bject|l|pt(group|ion))|p(aram|re)?|q|s(amp|cript|elect|mall|pan|t(r(ike|ong)|yle)|u(b|p))|t(able|body|d|extarea|foot|h|itle|r|t)|u(l)?|var))(\s(?<attr>.+?))*>|[a-zA-z]+://[^\s]*
PS:1楼说的没错,你过滤掉html后最后用css来控制输出。当然若需求不允许这样,你可以采用截取方式。
------解决方案--------------------非要在CS里判断的话用string.replace("<td>","");
string.replace("</td>","")
再截取字符串就不包含html标签了