我们经常遇到采集某站文章内容,但是经常他们会有内链接,去掉感觉不好不利于SEO优化,其实,我们可以使用php正则表达式替换url链接地址为指定url的形式。
譬如:
我们的采集的内容如下:
Bootstrap中文网提供Bootstrap中文手册,学习Bootstrap入门教程,Bootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap中文网致力于为广大国内开发者提供详尽的中文文档、代码实例等,助力开发者掌握并使用这一框架。
链接形式是:<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap中文网</a> ,
而我们采集后希望变成:<a href="http://www.yifen5.com/tag/Bootstrap中文网" target="_blank">Bootstrap中文网</a>
这里面涉及到正则出来url链接的关键字问题。示例代码如下:
<?php
$a = '<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap中文网</a>提供<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap中文手册</a>,学习<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap入门教程</a>,<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap</a>是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。<a href="http://bootstrap.jincon.com/" target="_blank">Bootstrap中文网</a>致力于为广大国内开发者提供详尽的中文文档、代码实例等,助力开发者掌握并使用这一框架。' ;
$lines_string =preg_replace( "(<a[^>]*>(.+?)<\/a>)" , "<a href='http://www.yifen5.com/$1'>$1</a>" , $a );
print_r( $lines_string );
?>
|
OK了,php正则表达式替换URL链接地址为指定url的形式,还是很多场合可以使用的。