富文本替换关键字做SEO内链

news/2024/5/9 16:42:45/文章来源:https://blog.csdn.net/weixin_34315665/article/details/91900299

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在很多博客系统中,做SEO 都需要涉及到内链,下面主要介绍使用java替换部分关键字(怎样中文分词,有空再写写)的代码。

SEO 内链,把富文本原文:

//原文 假设 建筑为关键字String source = "<p alt='建筑设计'>建筑很美,建筑很烂" +"<br/>"+"建筑很美,<a href=\"http://www.baidu.com/建筑\" title='优秀的建筑'>优秀的建筑</a>" +"建筑人,建筑社区" +"<img src='http://www.baidu.com/建筑' alt='优秀的建筑'></img>" +"</p>" +"<p>" +"<a href='http://www.baidu.com/建筑' title='优秀的建筑'>优秀的建筑</a>" +"<img src='http://www.baidu.com/建筑' alt='优秀的建筑'></img>" +"建筑很美,建筑很烂</p><a>baidu建筑真的不错</a>";

转换成我们希望的目标:

  //目标String target = "<p alt='建筑设计'><a>建筑</a>很美,<a>建筑</a>很烂" +"<br/>" +"<a>建筑</a>很美,<a href=\"http://www.mahoooo.com/建筑\" title='优秀的建筑'>优秀的建筑</a>" +"<a>建筑</a>人,<a>建筑</a>社区" +"<img src='http://www.mahoooo.com/建筑' alt='优秀的建筑'></img>" +"</p><p>" +"<a href='http://www.mahoooo.com/建筑' title='优秀的建筑'>优秀的建筑</a>" +"<img src='http://www.mahoooo.com/建筑' alt='优秀的建筑'></img>" +"<a>建筑</a>很美,<a>建筑</a>很烂</p><a>mahoooo建筑真的不错</a>";

通过原文和想要得到的目标比对,可以总结出:

1. 不想替换掉html 标签里面的文字,例如: src='http://www.baidu.com/建筑', alt='建筑设计'
2. 不希望替换掉<a href='http://www.baidu.com/建筑' title='的建筑'>优秀的建筑</a> text中的内容,既:优秀的建筑

通过上述分析(经过多种正则表达式测试,各种弯路,尝试过使用jsoup等工具类,中文分词保持<a>标签等方法):

public static void main(String[] args) {
//        String regex = "(?=(<a.*?>(.*?)</a>))";//原文String source = "<p alt='建筑设计'>建筑很美,建筑很烂" +"<br/>"+"建筑很美,<a href=\"http://www.baidu.com/建筑\" title='优秀的建筑'>优秀的建筑</a>" +"建筑人,建筑社区" +"<img src='http://www.baidu.com/建筑' alt='优秀的建筑'></img>" +"</p>" +"<p>" +"<a href='http://www.baidu.com/建筑' title='优秀的建筑'>优秀的建筑</a>" +"<img src='http://www.baidu.com/建筑' alt='优秀的建筑'></img>" +"建筑很美,建筑很烂</p><a>baidu建筑真的不错</a>";//目标String target = "<p alt='建筑设计'><a>建筑</a>很美,<a>建筑</a>很烂" +"<br/>" +"<a>建筑</a>很美,<a href=\"http://www.mahoooo.com/建筑\" title='优秀的建筑'>优秀的建筑</a>" +"<a>建筑</a>人,<a>建筑</a>社区" +"<img src='http://www.mahoooo.com/建筑' alt='优秀的建筑'></img>" +"</p><p>" +"<a href='http://www.mahoooo.com/建筑' title='优秀的建筑'>优秀的建筑</a>" +"<img src='http://www.mahoooo.com/建筑' alt='优秀的建筑'></img>" +"<a>建筑</a>很美,<a>建筑</a>很烂</p><a>mahoooo建筑真的不错</a>";//        String regex = "<[^a].*?>.*?<";//主要考虑html标签里面的属性 value值不能替换,和<a>标签text()不能替换,// 例如:匹配 src="***" 和 <a href=''>建筑<//之后就排除匹配段,其他都可以替换关键字String regex = "([\\w]+(='.*?'))|([\\w]+(=\".*?\"))|(<a.*?>.*?<)";Pattern p = Pattern.compile(regex);// 获取 matcher 对象Matcher m = p.matcher(source);//保存结果StringBuffer result = new StringBuffer();//上一个结束位置int lastEnd = 0;//是否匹配while (m.find()) {System.out.println("text:" + m.group());System.out.println("start: " + m.start() + "end:" + m.end());//提取没有匹配段,替换关键字并拼接result.append(source.substring(lastEnd,m.start()).replaceAll("建筑", "<a>建筑</a>"));//拼接匹配段result.append(source.substring(m.start(), m.end()));//作为下一个未匹配段的开始下标lastEnd = m.end();}//最后未匹配段result.append(source.substring(lastEnd).replaceAll("建筑", "<a>建筑</a>"));System.out.println("result:" + result.toString());}

转载于:https://my.oschina.net/kaishui/blog/1532092

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_744967.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建Nginx网站服务

随着计算机与Internet技术的蓬勃发展&#xff0c;各种Web站点成为直接面向用户的中坚力量&#xff0c;在各种网站服务器软件中&#xff0c;除了Apache外&#xff0c;还有一款轻量级的HTTP服务器软件——Nginx&#xff0c;其稳定性、高效的特性逐渐被越来越多的用户认可。本篇博…

解决liunx无法ping通任何网站

2019独角兽企业重金招聘Python工程师标准>>> 1 首先 添加dns服务器 vi /etc/resolv.conf 在文件中添加如下两行&#xff1a; nameserver 8.8.8.8 nameserver 8.8.4.4 保存退出&#xff0c;重启服务器。之后再ping 一次试一试 2 设置一个文件&#xff1a; vi /etc/sy…

简单的用户登录网站(HttpServlet版本1.0)

案例说明:在用户登录界面用户输入用户信息,若与固定用户信息相符,则跳转到欢迎界面,否则仍在登录界面. 思路: 1. 新建三个java文件,分别为Login.java, LoginCl.java, Wel.java (1) Login.java 用户登录页面 部署Servlet (2) LoginCl.java 处理用户信息的业务逻辑(检测是否与固…

网站图片防盗链:初级策略

哪个站长也不想自己的带宽白白像流入黑洞一般&#xff0c;被盗链流量所淹没&#xff0c;所以大致采取一些方法&#xff0c;或多或少减少这种盗链成本&#xff0c;下面介绍一种初级策略&#xff1a; 1、我们先举了例子&#xff0c;下面的图片我是在blog中引用www.souapp.com&am…

Django生成网站的sitemap.xml

Django有一个高级的Sitemap生成框架 一个Sitemap是一个你的网站的XML文件&#xff0c;它告诉搜索引擎索索引你的页面的更新频率和你的站点某些页面联系到其它页面 有多"重要"&#xff0c;这个信息帮助搜索引擎索引你的站点&#xff0c;参看http://www.sitemaps.org得…

django+apache配置网站的robots.txt和sitemaps等理静态文件

当你的网站已经在公网上正常上线后&#xff0c;为了能被搜索引擎很好的收录网站结构&#xff0c;就必须主动向搜索引擎提供robots.txt和sitemap.xml&#xff0c; 先来看看什么是robots.txt和 sitemap.xml吧&#xff0c;以下摘自“维基百科” http://zh.wikipedia.org/zh-cn/Si…

大型高性能网站的十项规则

<!-- 来源 --> 在我们公司ChinaNetCloud&#xff0c;见 过多种不同类型的网站和系统&#xff0c;有好也有差。其中有些系统拥有良好的服务器/网络架构&#xff0c;并且进行了合理的调整和监控 &#xff1b;然而一般的系统都会有安全和性能上的 问题&#xff0c;不能良好运…

souapp:网站图片找不到,指向默认图片显示

如果你的网站上显示的图片不存在&#xff0c;总不能给访问者显示一个个小的图片吧&#xff0c;下面我们以www.souapp.com(搜应用网)为例&#xff1a; 当用户鼠标onMouseOver,"搞笑铃声-精选集合2"这个APP的时候&#xff0c;上面应该显示该APP的详细信息以及screensho…

souapp搜应用网:放弃IE浏览器的用户,你的网站能做到吗?

这几天调试souapp.com的页面&#xff0c;感觉chrome,firefox,ie总不可能达到一致的页面效果&#xff0c;非常之崩溃&#xff0c;chrome和firefox还不错了&#xff0c;最可气的就是那个IE&#xff0c;不仅页面布局乱七八糟&#xff0c;而且很多JS代码在IE下不支持&#xff0c;报…

php网站漏洞检测对sql注入漏洞防护

近日&#xff0c;我们SINE安全对metinfo进行网站安全检测发现&#xff0c;metinfo米拓建站系统存在高危的sql注入漏洞&#xff0c;攻击者可以利用该漏洞对网站的代码进行sql注入攻击&#xff0c;伪造恶意的sql非法语句&#xff0c;对网站的数据库&#xff0c;以及后端服务器进行…

www.souapp.com(搜应用网)推出了中文版和英语版网站

www.souapp.com(搜应用网) 在Google Android Market 的开发者们的强烈要求下&#xff0c;最近推出了中文版和英语版网站&#xff0c;希望中国开发者和国外开发者能够在souapp.com上推广自己的APP&#xff0c;并且根据souapp.com提供的APP统计&#xff0c;为自己的下一款APP的开…

中国5G普及为何会领先美国:建站更便宜,频谱更适合

据国外媒体报道&#xff0c;虽然美国无线运营商正在美国城市相继推出5G商用服务。但中国计划在明年年底之前在全国所有地级以上城市提供5G商用服务&#xff0c;然后在全国其他地区推广开来。中国无线运营商凭借更低的基站建设成本、更优质的5G频谱资源、更便捷的设备设施共享在…

[实用]推荐一些非常棒的前端网站

前言 有时候&#xff0c;提高效率的办法&#xff0c;比如收藏一些好用的网站。这么多年下来&#xff0c;收藏夹里面躺着一些好用的网站&#xff0c;来掘金的时候&#xff0c;收获了很多知识&#xff0c;这时候准备回馈点东西给你们。 ❝ 如果部分国外网站访问不了的&#xff0…

360浏览器收藏夹_你缺的不是收藏而是藏经阁——聊聊那些极好用的收藏夹整理插件/网站...

收藏是不少小伙伴的习惯&#xff0c;就我而言&#xff0c;收藏夹收藏的网址已经有535条&#xff0c;但我相信比我多的绝对是大有人在。虽然我们经常都会收藏&#xff0c;可是我们真的懂得收藏吗&#xff1f;或许&#xff0c;你缺的不是收藏而是一个懂你的藏经阁~~~第一步——从…

sqlserver 每天一行_学 SQL Server 我最常逛的 5 个网站

点击蓝色“有关SQL”关注我哟加个“星标”&#xff0c;天天与10000人一起快乐成长很多读者加我微信&#xff0c;问的问题都很类似&#xff0c;“有没有好的书可以推荐”&#xff0c;“我是上班族&#xff0c;没有时间看书&#xff0c;有没有快速入门、进阶的视频推荐&#xff1…

建网站怎么建mysql数据库_数据库的建立(mysql数据库怎么建表)

第一步&#xff1a;创建数据库使用CREATE DATABASE 语句&#xff1b;CREATE DATABASE 用于创建数据库&#xff1b;实例&#xff1a;希望创建一个名为"my_first_db"的数据库。create database my_first_db;执行语句后&#xff0c;你将会在左侧的mysql信息列表中&#…

前端学习网站

一、非技术类 1、V2EX&#xff1a;https://www.v2ex.com/ 程序员撕X大本营&#xff0c;很多业界热门撕X都是从这个论坛吵起来的&#xff0c;适合吃瓜 2、IT 公论&#xff1a;https://itgonglun.com/archive/2015/#e-2918 音频节目&#xff0c;已经停更几年了&#xff0c;但有…

html蔚蓝网注册页面,如何在网站中添加手机短信验证码注册功能?

原标题&#xff1a;如何在网站中添加手机短信验证码注册功能&#xff1f;这个功能大家都非常熟悉了&#xff0c;就不废话了&#xff0c;直接入正题!下面以使用榛子云短信为例:1. 首先注册一个榛子云账号&#xff0c;注册地址: http://sms_developer.zhenzikj.com/zhenzisms_use…

50 多个提高前端人效率的工具、网站和书籍整理

本文包含了在线编译&#xff0c;在线编辑、实用工具、可视化工具、各种前端电子书等50多个网站&#xff0c;快放到你的收藏夹吃灰吧 如果你看到最后了&#xff0c;记得给我一个免费的赞哦 在线编译&#xff08;编辑&#xff09;、playground JS 代码混淆 www.jsfuck.com/ 嗯…

70+ 实用工具网站分享(建议收藏!)

前言 大家好&#xff0c;我是HoMeTown&#xff0c;好的工具&#xff0c;可以帮助我们大幅提高编程效率&#xff0c;今天给大家分享一下我平时收集到的一些工具&#xff0c;目录已经分好了。 JavaScript JavaScript教程 通俗易懂的JavaScript教程 传送门 ES6教程 阮一峰大佬…