ASP与PHP去除HTML标签及脚本代码的实现方法
作者:资源驿站时间:2026-10-25 11:03:38浏览:492
本文提供了在ASP和PHP环境中清除HTML字符串中script、style标签及注释的代码实现。ASP部分利用RegExp对象逐层匹配并移除脚本、样式及所有HTML标记;PHP部分通过定义搜索与替换数组,利用preg_replace函数批量处理脚本、样式、HTML标记、注释及空白字符,并处理HTML实体转换,适用于网页内容清洗场景。
ASP去除HTML标签及脚本代码的实现
ASP语言实现的函数逻辑
示例代码展示:
<%
Function RemoveHTML(str)
Dim objRegExp, Match,strHTML
if isnull(str) then
str=""
end if
strHTML=str
strHTML=replace(replace(replace(strHTML,vblf,""),vbcr,""),vbcrlf,"")
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "<script[^>]*?>.*?</script>"
strHTML = objRegExp.Replace(strHTML,"")
objRegExp.Pattern = "<style[^>]*?>.*?</style>"
strHTML = objRegExp.Replace(strHTML,"")
objRegExp.Pattern = "<.+?>"
strHTML = objRegExp.Replace(strHTML,"")
Set objRegExp = Nothing
RemoveHTML=strHTML
End Function
%> PHP正则表达式处理HTML内容
PHP语言对应的实现代码
示例代码展示:
<?php
$search = array ("'<script[^>]*?>.*?</script>'si", // 移除 javascript
"'<style[^>]*?>.*?</style>'si", // 移除 css
"'<[/!]*?[^<>]*?>'si", // 移除 HTML 标签
"'<!--[/!]*?[^<>]*?>'si", // 移除 注释标记
"'([rn])[s]+'", // 移除空白字符
"'&(quot|#34);'i", // 转换 HTML 实体
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(d+);'e"); // 作为 PHP 代码执行
$replace = array ("",
"",
"",
"",
"\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\1)");
//$document为需要处理字符串,如果来源为文件可以$document = file_get_contents('http://www.sina.com.cn');
$out = preg_replace($search, $replace, $document);
echo $out;
?> 存为get.php即可。
作者最新文章
JS中使用位运算(~~)和一元加号(+)快速转换字符串为整数
2026-11-03 22:41:12
怎么使用命令行批量格式化项目中的JS文件
2026-11-03 19:04:42
JS代码美化后报错怎么办?常见格式化冲突解决方法
2026-11-03 18:47:01
不用moment.js,怎么用原生JS Intl API格式化时间戳
2026-11-03 18:10:30
原生JS与dayjs获取当前日期的代码对比
2026-11-03 17:57:26
