因为是html格式的内容,直接截取内容的前多少字符显然不合适了。而如果直接去掉所有html格式然后再截取又无法达到想要的效果,再网上搜了一通之后,写下如下代码应该可以满足基本的要求了。(js写的,因为容易调试)
复制代码 代码如下:
var br = {};
br.spTags = ["img","br","hr"];/*不需要成对出现的标记*/
br.contain = function(arr,it){
for(var i=0,len=arr.length;i<len;i++){
if(arr[i]==it){
return true;
}
}
return false;
}
br.subArtc = function(article,worldNum){
var result = [];
/*首先截取需要的字串*/
var wcount = 0;
var startTags = [],endTags = [];
var isInTag = false;
for(var i=0,len=article.length;i<len;i++){
var w = article[i];
result.push(w);
if(w=="<"){
isInTag = true;
}
if(!isInTag){
wcount++;
if(wcount==worldNum){
break;
}
}
if(w==">"){
isInTag = false;
}
}
/*对字串进行处理*/
var j=0;
isInTag = false;
var isStartTag = true;
var tagTemp = "";
while(j<i){
w = result[j];
if(isInTag){
if(w==">" || w==" " || w=="/"){
isInTag = false;
if(isStartTag){
startTags.push(tagTemp);
}else{
endTags.push(tagTemp);
}
tagTemp = "";
}
if(isInTag){
tagTemp+=w;
}
}
if(w=="<"){
isInTag = true;
if(result[j+1]=="/"){
isStartTag = false;
j++;
}else{
isStartTag = true;
}
}
j++;
}
/*剔除img,br等不需要成对出现的标记*/
var newStartTags = [];
for(var x=0,len=startTags.length;x<len;x++){
if(!br.contain(br.spTags,startTags[x])){
newStartTags.push(startTags[x]);
}
}
/*添加没有的结束标记*/
var unEndTagsCount = newStartTags.length - endTags.length;
while(unEndTagsCount>0){
result.push("<");
result.push("/")
result.push(newStartTags[unEndTagsCount-1]);
result.push(">");
unEndTagsCount--;
}
return result.join("");
};
基本思路:
1.绕过标记,取得实际内容字数 ,如需要显示内容前100个字,绕过标记检索,得到第一百个字实际的索引。然后截取此索引前面的字串。
2.根据一得到的字串,得到这个字串中存在的开始标记和结束标记。注:此处的开始标记标识以"<"开通,且下一个字符不为"/"。
3.剔除2中 得到的开始标记中的不需要成对出现的标记。如br,img,hr等。
4.对比经过3处理的开始标记和2中得到的结束标记,没有配成对的在合适的位置为其配对。
此功能没有经过严格的测试,大家若有兴趣可以可以帮忙测试,有更好的想法的也可以回帖讨论。
作者:cnblogs bravfing
相关推荐:
ChatGPT当前不可用?如何应对AI服务中断的挑战,ai文章免费写作app
ChatGPTWindows版本下载:让AI助力您的工作和生活,ai yamama
ChatGPT恢复正常使用时间,提升你的工作与生活效率,联想电脑AI0510
SEO前的准备工作:如何让网站为搜索引擎优化做好充分准备,SEO_网站排名优化_网络推广
OpenAIGPTChatSoraOpenAIChatGPT服务在中断数小时后已恢复,ai视图线稿
ChatGPT翻译打不开?解决方法!,ai爱股票
SEO优化如何提升网站排名,驾驭搜索引擎流量,三亚网站推广方法
AI仿写文章:开启内容创作新纪元
seo站内优化包括什么营销,seo站内优化操作流程 ,ai 玻璃图标
ChatGPT进不去怎么办?解决方案与技巧,轻松畅享智能对话,ai va
重生成AI:突破科技前沿,开启智能未来
SEO详解:如何优化你的网站提升排名,获得更多流量,伊春湖南网站优化推广
如何识别文章是否由AI撰写?揭开智能写作的秘密
SEO挣钱之道:如何通过SEO实现网络盈利,宁晋网站建设商家
ChatGPT登录503错误?轻松解决,快速恢复畅享智能体验!,ai怎么加植物材质效果
seo自己做什么,自己做seo需要花钱吗 ,ai850775
seo深度优化插件是什么,深度优化手机软件 ,ai的缩写
怎么用AI写文章:高效创作的秘诀
Bing学术搜索结果不显示时间?如何解决这一问题,提升学术研究效率!,ai怎么参考线
ChatGPT崩一次多久修复?揭秘背后的技术与保障,ai1818818
SEO要好,网站流量翻倍的关键秘诀,品牌网站建设关键词优化
SEO全站优化:打造强大网站排名的必备利器,AI论文写作的优点
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
SEO添加:提升网站流量与排名的必备策略,seo团队成员中国人
AI的两个主要发展阶段:从起步到突破,如何重塑未来,wps ai写作去哪里
360ai答题-赋能教育,开启智能学习新纪元,ai 果汁
SOE优化:让你的网站轻松登顶,流量激增的秘密武器,广西网站建设存在问题
什么是seo推广找行者SEO,seo推广效果怎么样 ,西宁ai万词霸屏系统
ChatGPT页面空白无法登录?如何解决这一困扰?,温州ai字幕生成
SEO自从上线后的演变与未来发展趋势,拼多多增加关键词排名
SEO技巧提升网站流量和排名,助力企业快速崛起,ai080206.
OpenAI网站崩溃原因:背后的技术与挑战,千牛Ai智投在哪里找
AI免费免登录:轻松体验人工智能的魔力,无需繁琐注册,华为AI音箱2音质如何
SEO知道:让你的网站在搜索引擎中脱颖而出,水安建设集团网站
ChatGPT免登录:轻松畅聊,无需注册,快速体验AI智能助手,眼泪ai
优化,让生活与工作更高效-从个人到企业的全面升级,广州百度seo费用
实用AI工具:提升效率、优化生活的科技利器
SEO优化全攻略提升网站排名的关键步骤与未来趋势,这是什么新晋动画ai
为什么seo这么麻烦,seo是什么意思 为什么要做seo ,dota1ai地图命令选ai
SEO项目指的是什么,seo项目指的是什么意思 ,写个ai
“扩写AI”-引领写作革命,开启智能创作新时代,dede seo 标题如何填写
AI批量文章工具,让写作变得高效与轻松,cs机器人ai
SEO策划:让你的网站迅速脱颖而出的秘诀,seo优化和技巧
未来的效率利器AI软件下载AI,助您轻松驾驭智能世界
SEO利用:让你的网站快速登顶,获取更多流量与客户!,延边小程序推广平台网站
seo菲律宾是做什么,菲律宾网址排名 ,openl ai
怎么让AI写文章,轻松实现内容创作的智能化
AI人工智能文章生成器写作新纪元
seo网络上什么意思,seo表示什么 ,如何避免今日头条ai写作检测
seo适合什么人做,哪种seo做得好 ,晋城ai论文写作免费