过滤html标签在PHP中可以有内置的函数了,但它过滤的太干净了,我们就整理了一下些利用正则来过滤指定html标签的例子,具体如下所示。
采集的时候有时候需要过滤掉多余的标签属性,比如 img标签过滤掉除了src属性之外的所有属性例如删除titile alt等属性以及一些脚的onclick属性等。
例如
过滤除了src之外的所有属性:
代码如下:
属性
代码如下:
代码如下:
代码如下:
]*>/i","",$str );
只过滤alt属性的正则表达式:
代码如下:
代码如下:
]*?>.*?'si",// 去掉 javascript
"'<[\/\!]*?[^<>]*?>'si",// 去掉 HTML 标记
"'([\r\n])[\s]+'",// 去掉空白字符
"'&(quot|#34);'i",// 替换 HTML 实体
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i"
); // 作为 PHP 代码运行
$replace = array ("","\\1","\"","&","<",">"," ");
$html = preg_replace($search,$replace,$html);