background image

PHP 学习:php 利用正则表达式解决采集内容排版问

本文为大家详细介绍了 php 利用正则表达式解决采集内容排版问题,供各位参考下
做采集经常遇到的问题是内容排版问题,用了一些时间写了个用正则替换 html 标签和样
式的函数,共享下。
代码如下:
 

/**
* 格式化内容
* @param string $content 内容最好统一用 utf-8 编码
* @return string
* !本函数需要开启 tidy 扩展
*/
function

 removeFormat(

$content

) {

$replaces

 = 

array

 (

"/<font.*?>/i" => '',
"/<\/font>/i" => '',
"/<strong>/i" => '',
"/<\/strong>/i" => '',
"/<span.*?>/i" => '',
"/<\/span>/i" => '',
"/<div.*?>/i" => "<p>",
"/<\/div>/i" => "</p>",
"/<!--<.*?>*-->/i"=>'',

/* "/<table.*?>/i" => '',//遇到有表格的内容就不要启用
"/<\/table>/i" => '',
"/<tbody.*?>/i" => '',
"/<\/tbody>/i" => '',
"/<tr.*?>/i" => '<p>',
"/<\/tr>/i" => '</p>',
"/<td.*?>/i" => '', */

"/style=.+?['|\"]/i" => '',
"/class=.+?['|\"]/i" => '',